From a07999f7436802f15fc21bebd083006c9e681638 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Thu, 19 Feb 2015 19:18:48 +0100 Subject: Introduced `Branch` and `Else` pair aliases for usage in `Cond` * pure _syntax sugar_ to improve readability of `Cond` conditionals --- src/conditional/cond.h | 9 +++++++++ src/function/apply.h | 9 ++++----- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/conditional/cond.h b/src/conditional/cond.h index c543449..5f8014f 100644 --- a/src/conditional/cond.h +++ b/src/conditional/cond.h @@ -19,6 +19,15 @@ using Cond = Cdr >>; +template < + typename Condition, + typename Result +> +using Branch = Pair; + +template +using Else = Branch, Result>; + } #endif // TYPEASVALUE_SRC_CONDITIONAL_COND_H_ diff --git a/src/function/apply.h b/src/function/apply.h index 591fa8a..553ae7f 100644 --- a/src/function/apply.h +++ b/src/function/apply.h @@ -18,20 +18,19 @@ template < typename... Arguments > struct Apply : Cond< - Pair< + Branch< GreaterThan, Size<2>>, detail::apply_variadic >, - Pair< + Branch< IsEqualValue, Size<2>>, detail::apply_pair >, - Pair< + Branch< IsEqualValue, Size<1>>, detail::apply_single >, - Pair< - Boolean, + Else< detail::apply_none > > { }; -- cgit v1.2.3