From ee6c805ca87689912b44afa30f466bb9d2ffbb09 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Mon, 9 Jun 2014 10:39:05 -0400 Subject: [PATCH] Type: decouple library from its internal representation --- .../boost/hana/detail/left_folds/variadic.hpp | 19 +++-- include/boost/hana/list.hpp | 11 +-- include/boost/hana/trait.hpp | 19 +++-- include/boost/hana/type.hpp | 81 +++++++++---------- test/list/type/functor.cpp | 7 +- test/type/trait.cpp | 5 +- 6 files changed, 75 insertions(+), 67 deletions(-) diff --git a/include/boost/hana/detail/left_folds/variadic.hpp b/include/boost/hana/detail/left_folds/variadic.hpp index 276e7efbb..3d39d4d9e 100644 --- a/include/boost/hana/detail/left_folds/variadic.hpp +++ b/include/boost/hana/detail/left_folds/variadic.hpp @@ -2,6 +2,8 @@ @file Defines `boost::hana::detail::left_folds::variadic`. +@todo Re-enable the optimization for `Type`s. + @copyright Louis Dionne 2014 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) @@ -21,14 +23,15 @@ namespace boost { namespace hana { namespace detail { namespace left_folds { constexpr auto operator()(F f, State s, Xs ...xs) const { return variadic_unrolled(f, s, xs...); } - template