From e24f25ada7e8f48dc35cb235e045a4324bccb4f2 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sat, 14 Feb 2015 10:43:49 +0100 Subject: Introduced `Eval` function evaluation helper * replaces `typename *::type` constructs with `Eval` applications * aims to further unify function evaluation --- src/list/list.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/list/list.h') diff --git a/src/list/list.h b/src/list/list.h index 658ac31..e369739 100644 --- a/src/list/list.h +++ b/src/list/list.h @@ -10,25 +10,25 @@ template < typename... Tail > struct List { - typedef typename Cons< + typedef Eval::type - >::type type; + Eval> + >> type; }; template struct List { - typedef typename Cons::type type; + typedef Eval> type; }; template struct List { - typedef typename List::type type; + typedef Eval> type; }; template struct List { - typedef typename List::type type; + typedef Eval> type; }; template <> @@ -45,10 +45,10 @@ using ListOfType = List< >; template -using Head = typename Car::type; +using Head = Eval>; template -using Tail = typename Cdr::type; +using Tail = Eval>; } -- cgit v1.2.3