
Giovanni Piero Deretta wrote:
Instead of:
switch_(arg1) [ case_<1>(cout << val("one") << '\n'), case_<2>(cout << val("two") << '\n'), default_(cout << val("other value") << '\n') ]
do this:
switch_(arg1) [ case(1)[cout << val("one") << '\n'], case(2)[cout << val("two") << '\n'], default_[cout << val("other value"] << '\n') ]
this allows not only runtime selection of switch case values, but it will also work with everything that is equally comparable:
switch_(arg1) [ case("one")[cout << val(1) << '\n'], case("two")[cout << val(2) << '\n'], default_[cout << val("other value"] << '\n') ]
which IMHO is a killer feature.
In efficiency, you mean? One dispatch is 0(1) in the number of cases, the other is 0(n).