diff options
-rw-r--r-- | src/conditional/if.h | 4 | ||||
-rw-r--r-- | src/list/operation/higher/drop_while.h | 4 | ||||
-rw-r--r-- | src/list/operation/higher/filter.h | 12 | ||||
-rw-r--r-- | src/list/operation/higher/find.h | 4 | ||||
-rw-r--r-- | src/list/operation/higher/take_while.h | 4 |
5 files changed, 13 insertions, 15 deletions
diff --git a/src/conditional/if.h b/src/conditional/if.h index b9568f6..b019674 100644 --- a/src/conditional/if.h +++ b/src/conditional/if.h @@ -10,11 +10,11 @@ template < typename TrueBranch, typename FalseBranch > -using If = typename std::conditional< +using If = std::conditional< Condition, TrueBranch, FalseBranch ->::type; +>; } diff --git a/src/list/operation/higher/drop_while.h b/src/list/operation/higher/drop_while.h index a6ab8c4..ad1553f 100644 --- a/src/list/operation/higher/drop_while.h +++ b/src/list/operation/higher/drop_while.h @@ -10,11 +10,11 @@ template < typename Current > struct DropWhile { - typedef If< + typedef typename If< Predicate<Head<Current>>::type::value, typename DropWhile<Predicate, Tail<Current>>::type, Current - > type; + >::type type; }; template < diff --git a/src/list/operation/higher/filter.h b/src/list/operation/higher/filter.h index d91735e..3fc08ee 100644 --- a/src/list/operation/higher/filter.h +++ b/src/list/operation/higher/filter.h @@ -16,13 +16,11 @@ class Filter { typename Current, typename Previous > - struct predicate_wrapper { - typedef If< - Predicate<Current>::type::value, - Cons<Current, Previous>, - Previous - > type; - }; + using predicate_wrapper = If< + Predicate<Current>::type::value, + Cons<Current, Previous>, + Previous + >; public: typedef typename Fold<predicate_wrapper, void, List>::type type; diff --git a/src/list/operation/higher/find.h b/src/list/operation/higher/find.h index 47b88ad..bf9d04f 100644 --- a/src/list/operation/higher/find.h +++ b/src/list/operation/higher/find.h @@ -11,11 +11,11 @@ template < typename Current > struct Find { - typedef If< + typedef typename If< Predicate<Head<Current>>::type::value, Head<Current>, typename Find<Predicate, Tail<Current>>::type - > type; + >::type type; }; template < diff --git a/src/list/operation/higher/take_while.h b/src/list/operation/higher/take_while.h index 1ee6736..27f58ed 100644 --- a/src/list/operation/higher/take_while.h +++ b/src/list/operation/higher/take_while.h @@ -10,14 +10,14 @@ template < typename Current > struct TakeWhile { - typedef If< + typedef typename If< Predicate<Head<Current>>::type::value, Cons< Head<Current>, typename TakeWhile<Predicate, Tail<Current>>::type >, void - > type; + >::type type; }; template < |