diff --git a/include/boost/fusion/container/deque.hpp b/include/boost/fusion/container/deque.hpp index 0ee058a3..d750eab6 100644 --- a/include/boost/fusion/container/deque.hpp +++ b/include/boost/fusion/container/deque.hpp @@ -8,6 +8,7 @@ #if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) #define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 +#include #include #include diff --git a/include/boost/fusion/container/deque/detail/build_deque.hpp b/include/boost/fusion/container/deque/detail/build_deque.hpp new file mode 100644 index 00000000..bd713f9f --- /dev/null +++ b/include/boost/fusion/container/deque/detail/build_deque.hpp @@ -0,0 +1,74 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) +#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template ::value> + struct build_deque; + + template + struct build_deque + { + typedef deque<> type; + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct push_front_deque; + + template + struct push_front_deque> + { + typedef deque type; + + static type + call(T const& first, deque const& rest) + { + return type(front_extended_deque, T>(rest, first)); + } + }; + + template + struct build_deque + { + typedef + build_deque::type, Last> + next_build_deque; + + typedef push_front_deque< + typename result_of::value_of::type + , typename next_build_deque::type> + push_front; + + typedef typename push_front::type type; + + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return push_front::call( + v, next_build_deque::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp b/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp new file mode 100644 index 00000000..2dcce7d6 --- /dev/null +++ b/include/boost/fusion/container/deque/detail/cpp03/build_deque.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) +#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_deque + { + typedef typename + detail::as_deque::value> + gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + inline typename result_of::as_deque::type + as_deque(Sequence& seq) + { + typedef typename result_of::as_deque::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + inline typename result_of::as_deque::type + as_deque(Sequence const& seq) + { + typedef typename result_of::as_deque::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/include/boost/fusion/container/generation/map_tie.hpp b/include/boost/fusion/container/generation/map_tie.hpp index 26fc2dfa..4e8b3854 100644 --- a/include/boost/fusion/container/generation/map_tie.hpp +++ b/include/boost/fusion/container/generation/map_tie.hpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/container/map.hpp b/include/boost/fusion/container/map.hpp index b9e8cd2c..8e7cd68d 100644 --- a/include/boost/fusion/container/map.hpp +++ b/include/boost/fusion/container/map.hpp @@ -7,7 +7,6 @@ #if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) #define FUSION_SEQUENCE_CLASS_MAP_10022005_0606 -#include #include #include #include diff --git a/include/boost/fusion/container/map/convert.hpp b/include/boost/fusion/container/map/convert.hpp index 5bb6fc9d..5c93bbc0 100644 --- a/include/boost/fusion/container/map/convert.hpp +++ b/include/boost/fusion/container/map/convert.hpp @@ -4,44 +4,9 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_CONVERT_09232005_1340) -#define FUSION_CONVERT_09232005_1340 +#if !defined(FUSION_CONVERT_MAIN_09232005_1340) +#define FUSION_CONVERT_MAIN_09232005_1340 -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_map - { - typedef typename detail::as_map::value> gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - inline typename result_of::as_map::type - as_map(Sequence& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - inline typename result_of::as_map::type - as_map(Sequence const& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } -}} +#include #endif diff --git a/include/boost/fusion/container/map/detail/as_map.hpp b/include/boost/fusion/container/map/detail/cpp03/as_map.hpp similarity index 95% rename from include/boost/fusion/container/map/detail/as_map.hpp rename to include/boost/fusion/container/map/detail/cpp03/as_map.hpp index b1a4d09f..3654a4de 100644 --- a/include/boost/fusion/container/map/detail/as_map.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/as_map.hpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_map" FUSION_MAX_MAP_SIZE_STR ".hpp") @@ -77,7 +77,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/container/map/detail/at_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/at_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/at_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/at_impl.hpp diff --git a/include/boost/fusion/container/map/detail/begin_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/begin_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/begin_impl.hpp diff --git a/include/boost/fusion/container/map/detail/cpp03/convert.hpp b/include/boost/fusion/container/map/detail/cpp03/convert.hpp new file mode 100644 index 00000000..b35d0d06 --- /dev/null +++ b/include/boost/fusion/container/map/detail/cpp03/convert.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_09232005_1340) +#define FUSION_CONVERT_09232005_1340 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_map + { + typedef typename detail::as_map::value> gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + inline typename result_of::as_map::type + as_map(Sequence& seq) + { + typedef typename result_of::as_map::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + inline typename result_of::as_map::type + as_map(Sequence const& seq) + { + typedef typename result_of::as_map::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/include/boost/fusion/container/map/detail/convert_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp similarity index 91% rename from include/boost/fusion/container/map/detail/convert_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp index c4b9389d..1634a44b 100644 --- a/include/boost/fusion/container/map/detail/convert_impl.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/convert_impl.hpp @@ -8,8 +8,8 @@ #if !defined(FUSION_CONVERT_IMPL_09232005_1340) #define FUSION_CONVERT_IMPL_09232005_1340 -#include -#include +#include +#include #include #include diff --git a/include/boost/fusion/container/map/detail/deref_data_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/deref_data_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp diff --git a/include/boost/fusion/container/map/detail/deref_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/deref_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/deref_impl.hpp diff --git a/include/boost/fusion/container/map/detail/end_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/end_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/end_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/end_impl.hpp diff --git a/include/boost/fusion/container/map/detail/key_of_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp similarity index 92% rename from include/boost/fusion/container/map/detail/key_of_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp index 5a90c037..ce40c3f7 100644 --- a/include/boost/fusion/container/map/detail/key_of_impl.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp @@ -8,7 +8,7 @@ #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP -#include +#include namespace boost { namespace fusion { namespace extension { diff --git a/include/boost/fusion/container/map/limits.hpp b/include/boost/fusion/container/map/detail/cpp03/limits.hpp similarity index 100% rename from include/boost/fusion/container/map/limits.hpp rename to include/boost/fusion/container/map/detail/cpp03/limits.hpp diff --git a/include/boost/fusion/container/map/detail/cpp03/map.hpp b/include/boost/fusion/container/map/detail/cpp03/map.hpp new file mode 100644 index 00000000..e0abd49c --- /dev/null +++ b/include/boost/fusion/container/map/detail/cpp03/map.hpp @@ -0,0 +1,99 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_07212005_1106) +#define FUSION_MAP_07212005_1106 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> + storage_type; + + typedef typename storage_type::size size; + + map() + : data() {} + + template + map(Sequence const& rhs) + : data(rhs) {} + + #include + + template + map& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + + storage_type& get_data() { return data; } + storage_type const& get_data() const { return data; } + + private: + + storage_type data; + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/include/boost/fusion/container/map/detail/map_forward_ctor.hpp b/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp similarity index 94% rename from include/boost/fusion/container/map/detail/map_forward_ctor.hpp rename to include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp index c0f983c4..50e78040 100644 --- a/include/boost/fusion/container/map/detail/map_forward_ctor.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/container/map/detail/cpp03/map_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/map_fwd.hpp new file mode 100644 index 00000000..b04ff322 --- /dev/null +++ b/include/boost/fusion/container/map/detail/cpp03/map_fwd.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_FORWARD_07212005_1105) +#define FUSION_MAP_FORWARD_07212005_1105 + +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_MAP_SIZE, typename T, void_) + > + struct map; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp similarity index 62% rename from include/boost/fusion/container/map/detail/preprocessed/as_map.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp index 47eb0e4c..1d1be080 100644 --- a/include/boost/fusion/container/map/detail/preprocessed/as_map.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 20 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 30 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 40 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map10.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/as_map10.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map20.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/as_map20.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map30.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/as_map30.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map40.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/as_map40.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/as_map50.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/as_map50.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp similarity index 63% rename from include/boost/fusion/container/map/detail/preprocessed/map.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp index 93455c71..c6cd526a 100644 --- a/include/boost/fusion/container/map/detail/preprocessed/map.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 20 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 30 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 40 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif diff --git a/include/boost/fusion/container/map/detail/preprocessed/map10.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map10.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map10_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map10_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map20.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map20.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map20_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map20_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map30.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map30.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map30_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map30_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map40.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map40.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map40_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map40_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map50.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map50.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map50_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/preprocessed/map50_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp diff --git a/include/boost/fusion/container/map/detail/preprocessed/map_fwd.hpp b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp similarity index 62% rename from include/boost/fusion/container/map/detail/preprocessed/map_fwd.hpp rename to include/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp index e478a6f8..2e66a457 100644 --- a/include/boost/fusion/container/map/detail/preprocessed/map_fwd.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 20 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 30 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 40 -#include +#include #elif FUSION_MAX_MAP_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif diff --git a/include/boost/fusion/container/map/detail/value_at_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/value_at_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp diff --git a/include/boost/fusion/container/map/detail/value_of_data_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp similarity index 93% rename from include/boost/fusion/container/map/detail/value_of_data_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp index 28d21678..842791cc 100644 --- a/include/boost/fusion/container/map/detail/value_of_data_impl.hpp +++ b/include/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp @@ -8,7 +8,7 @@ #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP -#include +#include namespace boost { namespace fusion { namespace extension { diff --git a/include/boost/fusion/container/map/detail/value_of_impl.hpp b/include/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/container/map/detail/value_of_impl.hpp rename to include/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp diff --git a/include/boost/fusion/container/map/map.hpp b/include/boost/fusion/container/map/map.hpp index 5152e6e1..ad18955f 100644 --- a/include/boost/fusion/container/map/map.hpp +++ b/include/boost/fusion/container/map/map.hpp @@ -4,96 +4,9 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_MAP_07212005_1106) -#define FUSION_MAP_07212005_1106 +#if !defined(FUSION_MAP_MAIN_07212005_1106) +#define FUSION_MAP_MAIN_07212005_1106 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - map() - : data() {} - - template - map(Sequence const& rhs) - : data(rhs) {} - - #include - - template - map& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - - storage_type& get_data() { return data; } - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +#include #endif diff --git a/include/boost/fusion/container/map/map_fwd.hpp b/include/boost/fusion/container/map/map_fwd.hpp index 76c5eea7..1b7b1f43 100644 --- a/include/boost/fusion/container/map/map_fwd.hpp +++ b/include/boost/fusion/container/map/map_fwd.hpp @@ -4,49 +4,9 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_MAP_FORWARD_07212005_1105) -#define FUSION_MAP_FORWARD_07212005_1105 +#if !defined(FUSION_MAP_FORWARD_MAIN_07212005_1105) +#define FUSION_MAP_FORWARD_MAIN_07212005_1105 -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_MAP_SIZE, typename T, void_) - > - struct map; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +#include #endif