[Hybrid::ifElse()] Make the id() argument a constexpr functor
The id
argument for ifElse
branches is a functor used to create dependent contexts. It can however not be used in constant expressions in C++14, because lambdas only become constexpr
in C++17. This MR replaces the lambda by a manually written functor, which can be constexpr
already in C++14.