diff options
Diffstat (limited to 'src/conditional')
-rw-r--r-- | src/conditional/cond.h | 12 | ||||
-rw-r--r-- | src/conditional/if.h | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/conditional/cond.h b/src/conditional/cond.h index 0c2b1a8..2d6a415 100644 --- a/src/conditional/cond.h +++ b/src/conditional/cond.h @@ -12,15 +12,15 @@ template <typename... Branches> class Cond { private: template <typename Pair> - using predicate = IsTrue<typename Car<Pair>::type::type>; + using predicate = IsTrue<Eval<Eval<Car<Pair>>>>; public: - typedef typename Cdr< - typename Find< + typedef Eval<Cdr< + Eval<Find< predicate, - typename List<Branches...>::type - >::type - >::type type; + Eval<List<Branches...>> + >> + >> type; }; diff --git a/src/conditional/if.h b/src/conditional/if.h index b019674..b99f399 100644 --- a/src/conditional/if.h +++ b/src/conditional/if.h @@ -6,12 +6,12 @@ namespace tav { template < - bool Condition, + typename Condition, typename TrueBranch, typename FalseBranch > using If = std::conditional< - Condition, + Condition::value, TrueBranch, FalseBranch >; |