diff options
Diffstat (limited to 'src/list/operation/higher/take_while.h')
-rw-r--r-- | src/list/operation/higher/take_while.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/list/operation/higher/take_while.h b/src/list/operation/higher/take_while.h index d04dc2d..8e61c45 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 typename If< - Predicate<Head<Current>>::type::value, - typename Cons< + typedef Eval<If< + Eval<Predicate<Head<Current>>>, + Eval<Cons< Head<Current>, - typename TakeWhile<Predicate, Tail<Current>>::type - >::type, + Eval<TakeWhile<Predicate, Tail<Current>>> + >>, void - >::type type; + >> type; }; template < |