diff options
author | Adrian Kummerlaender | 2015-02-15 14:07:50 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2015-02-15 14:07:50 +0100 |
commit | 46e174935b122c0da4b51532a7f683a512eeaf65 (patch) | |
tree | 88bed0d869ce40c460e6370b4954ff159fe3c575 /src/function | |
parent | e24f25ada7e8f48dc35cb235e045a4324bccb4f2 (diff) | |
download | TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar.gz TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar.bz2 TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar.lz TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar.xz TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.tar.zst TypeAsValue-46e174935b122c0da4b51532a7f683a512eeaf65.zip |
Moved class-based implementations into `detail` namespace
* while class templates enable e.g. hiding implementation details they also require evaluation via `Eval`
** this clutters up the actual logic and is now hidden behind aliae that perform the evaluation
Diffstat (limited to 'src/function')
-rw-r--r-- | src/function/apply.h | 8 | ||||
-rw-r--r-- | src/function/detail/apply.h | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/function/apply.h b/src/function/apply.h index f4de292..591fa8a 100644 --- a/src/function/apply.h +++ b/src/function/apply.h @@ -19,22 +19,22 @@ template < > struct Apply : Cond< Pair< - GreaterThan<Eval<detail::count_placeholders<Arguments...>>, Size<2>>, + GreaterThan<detail::count_placeholders<Arguments...>, Size<2>>, detail::apply_variadic<Function, Arguments...> >, Pair< - IsEqualValue<Eval<detail::count_placeholders<Arguments...>>, Size<2>>, + IsEqualValue<detail::count_placeholders<Arguments...>, Size<2>>, detail::apply_pair<Function, Arguments...> >, Pair< - IsEqualValue<Eval<detail::count_placeholders<Arguments...>>, Size<1>>, + IsEqualValue<detail::count_placeholders<Arguments...>, Size<1>>, detail::apply_single<Function, Arguments...> >, Pair< Boolean<true>, detail::apply_none<Function, Arguments...> > ->::type { }; +> { }; } diff --git a/src/function/detail/apply.h b/src/function/detail/apply.h index da347f7..8d4ef6d 100644 --- a/src/function/detail/apply.h +++ b/src/function/detail/apply.h @@ -13,7 +13,7 @@ namespace detail { struct placeholder_tag { }; template <typename Type> -using is_placeholder = tav::Boolean< +using is_placeholder = Boolean< std::is_base_of<placeholder_tag, Type>::value >; @@ -33,13 +33,13 @@ template < int Index > struct resolve_placeholder<Partials, placeholder<Index>> { - typedef Eval<Nth<Size<Index>, Partials>> type; + typedef tav::Nth<Size<Index>, Partials> type; }; template <typename... Arguments> using count_placeholders = Count< is_placeholder, - Eval<List<Arguments...>> + tav::List<Arguments...> >; template < @@ -58,7 +58,7 @@ struct apply_variadic { template <typename... Partials> using function = Function< Eval<resolve_placeholder< - Eval<List<Partials...>>, + tav::List<Partials...>, Arguments >>... >; |