From f81cd736e00c28cf24412a4099bae08ff2e6c493 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Mon, 16 Feb 2015 17:35:38 +0100 Subject: Unified `Iota` and `MakeList` using nested structure generator * `detail::generate_nested_structure` offers a higher order nested structure constructor for procedural list generation * renamed `Fold` implementation details --- src/list/generator/make_list.h | 34 ++++++++-------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) (limited to 'src/list/generator/make_list.h') diff --git a/src/list/generator/make_list.h b/src/list/generator/make_list.h index 863dce2..ec49651 100644 --- a/src/list/generator/make_list.h +++ b/src/list/generator/make_list.h @@ -1,39 +1,21 @@ #ifndef TYPEASVALUE_SRC_LIST_GENERATOR_MAKE_LIST_H_ #define TYPEASVALUE_SRC_LIST_GENERATOR_MAKE_LIST_H_ -#include "list/cons.h" -#include "operation/math.h" +#include "pair.h" +#include "detail/generate_nested_structure.h" namespace tav { -namespace detail { - -template < - typename Count, - typename Element -> -struct MakeList { - typedef Cons< - Element, - Eval>, - Element - >> - > type; -}; - -template -struct MakeList, Element> { - typedef Cons type; -}; - -} - template < typename Count, typename Element > -using MakeList = Eval>; +using MakeList = Eval>; } -- cgit v1.2.3