diff options
Diffstat (limited to 'src/conditional')
-rw-r--r-- | src/conditional/cond.h | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/conditional/cond.h b/src/conditional/cond.h index f6b7965..eeb31b6 100644 --- a/src/conditional/cond.h +++ b/src/conditional/cond.h @@ -10,26 +10,18 @@ namespace tav { namespace detail { -template <typename... Branches> -class Cond { - private: - template <typename Pair> - using predicate = IsTrue<tav::Car<Pair>>; - - public: - typedef tav::Cdr< - tav::Find< - predicate, - tav::List<Branches...> - > - > type; - -}; +template <typename Pair> +using cond_predicate = IsTrue<Car<Pair>>; } template <typename... Branches> -using Cond = Eval<detail::Cond<Branches...>>; +using Cond = Cdr< + Find< + detail::cond_predicate, + List<Branches...> + > +>; } |