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/function | |
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/function')
-rw-r--r-- | src/function/apply.h | 6 | ||||
-rw-r--r-- | src/function/detail/apply.h | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/function/apply.h b/src/function/apply.h index 5a2105c..f4de292 100644 --- a/src/function/apply.h +++ b/src/function/apply.h @@ -19,15 +19,15 @@ template < > struct Apply : Cond< Pair< - GreaterThan<typename detail::count_placeholders<Arguments...>::type, Size<2>>, + GreaterThan<Eval<detail::count_placeholders<Arguments...>>, Size<2>>, detail::apply_variadic<Function, Arguments...> >, Pair< - IsEqualValue<typename detail::count_placeholders<Arguments...>::type, Size<2>>, + IsEqualValue<Eval<detail::count_placeholders<Arguments...>>, Size<2>>, detail::apply_pair<Function, Arguments...> >, Pair< - IsEqualValue<typename detail::count_placeholders<Arguments...>::type, Size<1>>, + IsEqualValue<Eval<detail::count_placeholders<Arguments...>>, Size<1>>, detail::apply_single<Function, Arguments...> >, Pair< diff --git a/src/function/detail/apply.h b/src/function/detail/apply.h index b4b70bf..da347f7 100644 --- a/src/function/detail/apply.h +++ b/src/function/detail/apply.h @@ -33,13 +33,13 @@ template < int Index > struct resolve_placeholder<Partials, placeholder<Index>> { - typedef typename Nth<Size<Index>, Partials>::type type; + typedef Eval<Nth<Size<Index>, Partials>> type; }; template <typename... Arguments> using count_placeholders = Count< is_placeholder, - typename List<Arguments...>::type + Eval<List<Arguments...>> >; template < @@ -57,10 +57,10 @@ template < struct apply_variadic { template <typename... Partials> using function = Function< - typename resolve_placeholder< - typename tav::List<Partials...>::type, + Eval<resolve_placeholder< + Eval<List<Partials...>>, Arguments - >::type... + >>... >; }; |