www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - template <typename Any> auto switch_(Any& a) { return [&a](auto

template <typename Any>
auto switch_(Any& a) {
   return [&a](auto ...cases_) {
     auto cases = hana::make_tuple(cases_...);
     auto default_ = hana::find_if(cases, [](auto const& c) {
       return hana::first(c) == hana::type_c<default_t>;
     });
     // ...
   };
}
Apr 23 2017