diff options
author | Adrian Kummerlaender | 2015-02-14 10:43:49 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2015-02-14 10:43:49 +0100 |
commit | e24f25ada7e8f48dc35cb235e045a4324bccb4f2 (patch) | |
tree | 3b6c409c7d336557163dcb25e4b11fdef82a3a79 /src/list/operation/nth.h | |
parent | 73680466149c7aad21de558b7acc11dfa05183d2 (diff) | |
download | TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar.gz TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar.bz2 TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar.lz TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar.xz TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.tar.zst TypeAsValue-e24f25ada7e8f48dc35cb235e045a4324bccb4f2.zip |
Introduced `Eval` function evaluation helper
* replaces `typename *::type` constructs with `Eval` applications
* aims to further unify function evaluation
Diffstat (limited to 'src/list/operation/nth.h')
-rw-r--r-- | src/list/operation/nth.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/list/operation/nth.h b/src/list/operation/nth.h index 076add4..08e60cc 100644 --- a/src/list/operation/nth.h +++ b/src/list/operation/nth.h @@ -10,10 +10,10 @@ template < typename Pair > struct Nth { - typedef typename Nth< + typedef Eval<Nth< Substract<Index, Size<1>>, Tail<Pair> - >::type type; + >> type; }; template <typename Pair> @@ -32,13 +32,13 @@ struct Nth<Size<0>, void> { }; template <typename List> -using First = typename Nth<Size<0>, List>::type; +using First = Eval<Nth<Size<0>, List>>; template <typename List> -using Second = typename Nth<Size<1>, List>::type; +using Second = Eval<Nth<Size<1>, List>>; template <typename List> -using Third = typename Nth<Size<2>, List>::type; +using Third = Eval<Nth<Size<2>, List>>; } |