diff --git a/include/boost/mpl/aux_/basic_bind.hpp b/include/boost/mpl/aux_/basic_bind.hpp new file mode 100644 index 0000000..62f5d07 --- /dev/null +++ b/include/boost/mpl/aux_/basic_bind.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED +#define BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT +#include + +#endif // BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/erase_key_impl.hpp b/include/boost/mpl/aux_/erase_key_impl.hpp index 1d59740..f91d2dd 100644 --- a/include/boost/mpl/aux_/erase_key_impl.hpp +++ b/include/boost/mpl/aux_/erase_key_impl.hpp @@ -25,7 +25,7 @@ struct erase_key_impl template< typename Sequence, typename Key > struct apply; }; -BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, erase_key_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl) }} diff --git a/include/boost/mpl/aux_/order_impl.hpp b/include/boost/mpl/aux_/order_impl.hpp index 0358d34..ba89135 100644 --- a/include/boost/mpl/aux_/order_impl.hpp +++ b/include/boost/mpl/aux_/order_impl.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -30,30 +31,27 @@ namespace boost { namespace mpl { // default implementation; requires 'Seq' to provide corresponding overloads -// of 'operator/' +// of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY template< typename Seq, typename Key > struct x_order_impl -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) { BOOST_STATIC_CONSTANT(long, value = - sizeof( + sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY( *BOOST_MPL_AUX_STATIC_CAST(Seq*, 0) - / BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) - ) + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) ); -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) - typedef long_<(x_order_impl::value)> type; -# else typedef long_ type; -# endif #else // ISO98 C++ : long_< - sizeof( + sizeof( BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Seq*, 0)) - / BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) - ) + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) > { #endif @@ -63,7 +61,7 @@ template< typename Tag > struct order_impl { template< typename Seq, typename Key > struct apply - : if_< + : if_< typename has_key_impl::template apply , x_order_impl , void_ diff --git a/include/boost/mpl/aux_/overload_names.hpp b/include/boost/mpl/aux_/overload_names.hpp new file mode 100644 index 0000000..87a8a56 --- /dev/null +++ b/include/boost/mpl/aux_/overload_names.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED +#define BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) + +# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY operator/ +# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator| +# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY operator|| +# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED operator% + +# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(x, y) x / y +# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(x, y) x | y +# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(x, y) x || y +# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(x, y) x % y + +#else + +# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY value_by_key_ +# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_ +# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY order_by_key_ +# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED is_masked_ + +# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY +# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER +# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY +# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED BOOST_MPL_AUX_OVERLOAD_IS_MASKED + +#endif + +#endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp index a84603c..1c3f88d 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp index 613bac3..10f871e 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp index 050479c..aac2e94 100644 --- a/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp index 355c64b..3e1ef6b 100644 --- a/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp index 1d3c0af..a7bf7ac 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp index 1d3c0af..a7bf7ac 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp index 355c64b..3e1ef6b 100644 --- a/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp index 0860c33..5434dcf 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp index ba0f264..b1d032a 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp index 355c64b..3e1ef6b 100644 --- a/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +++ b/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/bind.hpp" header +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/aux_/at_impl.hpp b/include/boost/mpl/map/aux_/at_impl.hpp index 7a98429..b302969 100644 --- a/include/boost/mpl/map/aux_/at_impl.hpp +++ b/include/boost/mpl/map/aux_/at_impl.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -38,8 +39,10 @@ template< typename Map, typename Key > struct m_at { typedef aux::type_wrapper key_; - typedef __typeof__( aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Map*, 0)) - | BOOST_MPL_AUX_STATIC_CAST(key_*, 0) ) type; + typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY( + aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Map*, 0)) + , BOOST_MPL_AUX_STATIC_CAST(key_*, 0) + ) ) type; }; template<> @@ -58,8 +61,10 @@ struct at_impl< aux::map_tag > template< typename Map, long order > struct item_by_order_impl { - typedef __typeof__( aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Map*, 0)) - || long_() ) type; + typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER( + aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Map*, 0)) + , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) + ) ) type; }; template< typename Map, long order > @@ -77,55 +82,36 @@ template< typename Map, long n > struct m_at typedef void_ type; }; -template< typename Map> -struct m_at -{ - typedef typename Map::type1 type; -}; - -template< typename Map> -struct m_at -{ - typedef typename Map::type2 type; -}; - -template< typename Map> -struct m_at -{ - typedef typename Map::type3 type; -}; - template<> struct at_impl< aux::map_tag > { template< typename Map, typename Key > struct apply { - typedef typename m_at< - Map - , x_order_impl::value - >::type type_; - - typedef typename eval_if< - is_void_ + typedef typename m_at< Map, (x_order_impl::value - 2) >::type item_; + typedef typename eval_if< + is_void_ , void_ - , second + , second >::type type; }; }; -template< typename Map, long order > struct item_by_order +template< typename Map, long order > struct is_item_masked { - BOOST_STATIC_CONSTANT(bool, is_deleted_ = - sizeof( - *BOOST_MPL_AUX_STATIC_CAST(Map*, 0) - % BOOST_MPL_AUX_STATIC_CAST(long_*, 0) - ) - 1 + BOOST_STATIC_CONSTANT(bool, value = + sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( + aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Map*, 0)) + , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) + ) ) == sizeof(aux::yes_tag) ); - +}; + +template< typename Map, long order > struct item_by_order +{ typedef typename eval_if_c< - is_deleted_ + is_item_masked::value , void_ - , m_at + , m_at >::type type; }; diff --git a/include/boost/mpl/map/aux_/begin_end_impl.hpp b/include/boost/mpl/map/aux_/begin_end_impl.hpp index a67149c..b79804d 100644 --- a/include/boost/mpl/map/aux_/begin_end_impl.hpp +++ b/include/boost/mpl/map/aux_/begin_end_impl.hpp @@ -16,6 +16,7 @@ // $Revision$ #include +#include #include namespace boost { namespace mpl { @@ -25,11 +26,11 @@ struct begin_impl< aux::map_tag > { template< typename Map > struct apply { - enum { max_order_ = Map::order + 1 }; + typedef typename next< typename Map::order >::type max_order_; typedef m_iter< Map - , next_order::value - , max_order_ + , next_order::value + , max_order_::value > type; }; }; @@ -39,8 +40,8 @@ struct end_impl< aux::map_tag > { template< typename Map > struct apply { - enum { max_order_ = Map::order + 1 }; - typedef m_iter< Map,max_order_,max_order_ > type; + typedef typename next< typename Map::order >::type max_order_; + typedef m_iter< Map,max_order_::value,max_order_::value > type; }; }; diff --git a/include/boost/mpl/map/aux_/erase_impl.hpp b/include/boost/mpl/map/aux_/erase_impl.hpp index 24a78fc..9df6eec 100644 --- a/include/boost/mpl/map/aux_/erase_impl.hpp +++ b/include/boost/mpl/map/aux_/erase_impl.hpp @@ -18,11 +18,9 @@ #include #include #include -#include namespace boost { namespace mpl { -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct erase_impl< aux::map_tag > { @@ -37,7 +35,6 @@ struct erase_impl< aux::map_tag > { }; }; -#endif }} diff --git a/include/boost/mpl/map/aux_/erase_key_impl.hpp b/include/boost/mpl/map/aux_/erase_key_impl.hpp index 51e287c..1410998 100644 --- a/include/boost/mpl/map/aux_/erase_key_impl.hpp +++ b/include/boost/mpl/map/aux_/erase_key_impl.hpp @@ -22,13 +22,11 @@ #include #include #include -#include #include namespace boost { namespace mpl { -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct erase_key_impl< aux::map_tag > { @@ -49,7 +47,6 @@ struct erase_key_impl< aux::map_tag > { }; }; -#endif }} diff --git a/include/boost/mpl/map/aux_/has_key_impl.hpp b/include/boost/mpl/map/aux_/has_key_impl.hpp index 0caf056..4935b45 100644 --- a/include/boost/mpl/map/aux_/has_key_impl.hpp +++ b/include/boost/mpl/map/aux_/has_key_impl.hpp @@ -19,18 +19,22 @@ #include #include #include +#include -namespace boost { -namespace mpl { +namespace boost { namespace mpl { template<> struct has_key_impl< aux::map_tag > { template< typename Map, typename Key > struct apply +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) : is_not_void_< typename at_impl ::apply::type > +#else + : bool_< ( x_order_impl::value > 1 ) > +#endif { }; }; diff --git a/include/boost/mpl/map/aux_/include_preprocessed.hpp b/include/boost/mpl/map/aux_/include_preprocessed.hpp index 82bddbc..047ed8a 100644 --- a/include/boost/mpl/map/aux_/include_preprocessed.hpp +++ b/include/boost/mpl/map/aux_/include_preprocessed.hpp @@ -22,8 +22,7 @@ #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # define AUX778076_INCLUDE_DIR typeof_based -#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) +#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # define AUX778076_INCLUDE_DIR no_ctps #else # define AUX778076_INCLUDE_DIR plain diff --git a/include/boost/mpl/map/aux_/insert_impl.hpp b/include/boost/mpl/map/aux_/insert_impl.hpp index fd6b4e5..ca021d4 100644 --- a/include/boost/mpl/map/aux_/insert_impl.hpp +++ b/include/boost/mpl/map/aux_/insert_impl.hpp @@ -24,18 +24,26 @@ namespace boost { namespace mpl { -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) namespace aux { -template< typename Map, typename Pair > +template< typename Map, typename Pair > struct map_insert_impl : if_< contains_impl::apply , Map +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) , m_item< typename Pair::first , typename Pair::second , Map > +#else + , m_item< + ( Map::size::value + 1 ) + , typename Pair::first + , typename Pair::second + , Map + > +#endif > { }; @@ -57,7 +65,6 @@ struct insert_impl< aux::map_tag > { }; }; -#endif }} diff --git a/include/boost/mpl/map/aux_/item.hpp b/include/boost/mpl/map/aux_/item.hpp index 5256890..e9237c9 100644 --- a/include/boost/mpl/map/aux_/item.hpp +++ b/include/boost/mpl/map/aux_/item.hpp @@ -22,20 +22,23 @@ #include #include #include +#include #include #include -#include +#include #include #include -#include + +#include + namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) -aux::type_wrapper operator|(map0<> const&, void const volatile*); -aux::type_wrapper operator||(map0<> const&, long_<1>); -aux::no_tag operator/(map0<> const&, void const volatile*); +aux::type_wrapper BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( map0<> const&, void const volatile* ); +aux::type_wrapper BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( map0<> const&, long_<1>* ); +aux::no_tag BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( map0<> const&, void const volatile* ); # if defined(BOOST_MPL_CFG_USE_OPERATORS_SPECIALIZATION) @@ -44,28 +47,28 @@ template< typename Key, typename Base > struct m_mask; template< typename Key, typename T, typename Base > aux::type_wrapper -operator|(m_item const&, aux::type_wrapper*); +BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( m_item const&, aux::type_wrapper* ); template< typename Key, typename T, typename Base > -aux::type_wrapper::type> -operator||(m_item const&, long_::order>); +aux::type_wrapper< typename m_item::item > +BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( m_item const&, typename m_item::order* ); template< typename Key, typename Base > aux::type_wrapper -operator|(m_mask const&, aux::type_wrapper*); +BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( m_mask const&, aux::type_wrapper* ); template< typename Key, typename Base > aux::type_wrapper -operator||(m_mask const&, long_::old_order_::value>); +BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( m_mask const&, typename m_mask::key_order_* ); template< typename Key, typename T, typename Base > typename m_item::order_tag_ -operator/(m_item const&, aux::type_wrapper*); +BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( m_item const&, aux::type_wrapper* ); -# define MPL_AUX_MAP_OPERATOR(x) operator x <> +# define AUX778076_MAP_OVERLOAD(f) BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)<> # else -# define MPL_AUX_MAP_OPERATOR(x) operator x +# define AUX778076_MAP_OVERLOAD(f) BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) # endif @@ -74,22 +77,21 @@ struct m_item : Base { typedef Key key_; - typedef pair type; + typedef pair item; typedef Base base; typedef typename next< typename Base::size >::type size; + typedef typename next< typename Base::order >::type order; - BOOST_STATIC_CONSTANT(long, order = Base::order + 1); - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) - typedef typename aux::weighted_tag<(Base::order + 1)>::type order_tag_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; #else - typedef char (&order_tag_)[order]; + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif - friend aux::type_wrapper MPL_AUX_MAP_OPERATOR(|)(m_item const&, aux::type_wrapper*); - friend aux::type_wrapper MPL_AUX_MAP_OPERATOR(||)(m_item const&, long_); - friend order_tag_ MPL_AUX_MAP_OPERATOR(/)(m_item const&, aux::type_wrapper*); + friend aux::type_wrapper AUX778076_MAP_OVERLOAD(VALUE_BY_KEY)( m_item const&, aux::type_wrapper* ); + friend aux::type_wrapper AUX778076_MAP_OVERLOAD(ITEM_BY_ORDER)( m_item const&, order* ); + friend order_tag_ AUX778076_MAP_OVERLOAD(ORDER_BY_KEY)( m_item const&, aux::type_wrapper* ); }; @@ -101,60 +103,40 @@ struct m_mask typedef Base base; typedef typename prior< typename Base::size >::type size; - - typedef typename x_order_impl::type old_order_; + typedef typename x_order_impl::type key_order_; - friend aux::type_wrapper MPL_AUX_MAP_OPERATOR(|)(m_mask const&, aux::type_wrapper*); - friend aux::type_wrapper MPL_AUX_MAP_OPERATOR(||)(m_mask const&, long_); -// friend order_tag_ MPL_AUX_MAP_OPERATOR(/)(m_mask const&, aux::type_wrapper*); + friend aux::type_wrapper AUX778076_MAP_OVERLOAD(VALUE_BY_KEY)( m_mask const&, aux::type_wrapper* ); + friend aux::type_wrapper AUX778076_MAP_OVERLOAD(ITEM_BY_ORDER)( m_mask const&, key_order_* ); }; -# undef MPL_AUX_MAP_OPERATOR +# undef AUX778076_MAP_OVERLOAD #else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES -aux::no_tag operator/(map0<> const&, void*); -aux::no_tag operator%(map0<> const&, void*); +aux::no_tag BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( map0<> const&, void const volatile* ); +aux::no_tag BOOST_MPL_AUX_OVERLOAD_IS_MASKED( map0<> const&, void const volatile* ); + +template< long n, typename Key, typename T, typename Base > +struct m_item; template< typename Key, typename T, typename Base > struct m_item_ : Base { - typedef Key key_; - typedef Base base; + typedef Key key_; + typedef Base base; + typedef m_item_ type; typedef typename next< typename Base::size >::type size; + typedef typename next< typename Base::order >::type order; - BOOST_STATIC_CONSTANT(long, order = Base::order + 1); - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) - typedef typename aux::weighted_tag<(Base::order + 1)>::type order_tag_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; #else - typedef char (&order_tag_)[order]; + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif - friend order_tag_ operator/(m_item_ const&, aux::type_wrapper*); -}; - -template< typename Key, typename T, typename Base > -struct m_item1 - : m_item_ -{ - typedef pair type1; -}; - -template< typename Key, typename T, typename Base > -struct m_item2 - : m_item_ -{ - typedef pair type2; -}; - -template< typename Key, typename T, typename Base > -struct m_item3 - : m_item_ -{ - typedef pair type3; + friend order_tag_ BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( m_item_ const&, aux::type_wrapper* ); }; template< typename Key, typename Base > @@ -165,15 +147,13 @@ struct m_mask typedef Base base; typedef typename prior< typename Base::size >::type size; - - typedef typename x_order_impl::type old_order_; + typedef typename x_order_impl::type key_order_; - friend aux::no_tag operator/(m_mask const&, aux::type_wrapper*); - friend aux::yes_tag operator%(m_mask const&, long_*); + friend aux::no_tag BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( m_mask const&, aux::type_wrapper* ); + friend aux::yes_tag BOOST_MPL_AUX_OVERLOAD_IS_MASKED( m_mask const&, key_order_* ); }; - -#endif +#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} diff --git a/include/boost/mpl/map/aux_/map0.hpp b/include/boost/mpl/map/aux_/map0.hpp index 0e786c1..e9a60b8 100644 --- a/include/boost/mpl/map/aux_/map0.hpp +++ b/include/boost/mpl/map/aux_/map0.hpp @@ -19,7 +19,6 @@ #include #include #include -#include namespace boost { namespace mpl { @@ -28,9 +27,8 @@ template< typename Dummy = na > struct map0 typedef map0 type; typedef aux::map_tag tag; typedef void_ key_; + typedef long_<1> order; typedef long_<0> size; - - BOOST_STATIC_CONSTANT(long, order = 1); }; }} diff --git a/include/boost/mpl/map/aux_/numbered.hpp b/include/boost/mpl/map/aux_/numbered.hpp index 7c91eab..4daf1ff 100644 --- a/include/boost/mpl/map/aux_/numbered.hpp +++ b/include/boost/mpl/map/aux_/numbered.hpp @@ -1,7 +1,7 @@ -// no include guards, the header is intended for multiple inclusion! +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION -#if defined(BOOST_PP_IS_ITERATING) +#if !defined(BOOST_PP_IS_ITERATING) // Copyright Aleksey Gurtovoy 2000-2004 // @@ -15,6 +15,9 @@ // $Date$ // $Revision$ +#else + +#include #include #include #include @@ -27,7 +30,9 @@ > \ /**/ -#if i_ > 0 + +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + template< BOOST_PP_ENUM_PARAMS(i_, typename P) > @@ -39,7 +44,36 @@ struct BOOST_PP_CAT(map,i_) > { }; -#endif + +#else // "brute force" implementation + +template< typename Map> +struct m_at +{ + typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type; +}; + +template< typename Key, typename T, typename Base > +struct m_item + : m_item_ +{ + typedef pair BOOST_PP_CAT(item,BOOST_PP_DEC(i_)); +}; + +template< + BOOST_PP_ENUM_PARAMS(i_, typename P) + > +struct BOOST_PP_CAT(map,i_) + : m_item< + i_ + , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first + , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second + , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P) + > +{ +}; + +#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES # undef AUX778076_MAP_TAIL diff --git a/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp b/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp index 8e24c3c..9b649fc 100644 --- a/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp @@ -7,130 +7,270 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map10.hpp" header +// Preprocessed version of "boost/mpl/map/map10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { +template< typename Map> +struct m_at< Map,0 > +{ + typedef typename Map::item0 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 1,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item0; +}; + template< typename P0 > struct map1 : m_item< - typename P0::first + 1 + , typename P0::first , typename P0::second , map0< > > { }; +template< typename Map> +struct m_at< Map,1 > +{ + typedef typename Map::item1 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 2,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item1; +}; + template< typename P0, typename P1 > struct map2 : m_item< - typename P1::first + 2 + , typename P1::first , typename P1::second , map1 > { }; +template< typename Map> +struct m_at< Map,2 > +{ + typedef typename Map::item2 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 3,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item2; +}; + template< typename P0, typename P1, typename P2 > struct map3 : m_item< - typename P2::first + 3 + , typename P2::first , typename P2::second , map2< P0,P1 > > { }; +template< typename Map> +struct m_at< Map,3 > +{ + typedef typename Map::item3 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 4,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item3; +}; + template< typename P0, typename P1, typename P2, typename P3 > struct map4 : m_item< - typename P3::first + 4 + , typename P3::first , typename P3::second , map3< P0,P1,P2 > > { }; +template< typename Map> +struct m_at< Map,4 > +{ + typedef typename Map::item4 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 5,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item4; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 > struct map5 : m_item< - typename P4::first + 5 + , typename P4::first , typename P4::second , map4< P0,P1,P2,P3 > > { }; +template< typename Map> +struct m_at< Map,5 > +{ + typedef typename Map::item5 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 6,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item5; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5 > struct map6 : m_item< - typename P5::first + 6 + , typename P5::first , typename P5::second , map5< P0,P1,P2,P3,P4 > > { }; +template< typename Map> +struct m_at< Map,6 > +{ + typedef typename Map::item6 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 7,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item6; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > struct map7 : m_item< - typename P6::first + 7 + , typename P6::first , typename P6::second , map6< P0,P1,P2,P3,P4,P5 > > { }; +template< typename Map> +struct m_at< Map,7 > +{ + typedef typename Map::item7 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 8,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item7; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7 > struct map8 : m_item< - typename P7::first + 8 + , typename P7::first , typename P7::second , map7< P0,P1,P2,P3,P4,P5,P6 > > { }; +template< typename Map> +struct m_at< Map,8 > +{ + typedef typename Map::item8 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 9,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item8; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8 > struct map9 : m_item< - typename P8::first + 9 + , typename P8::first , typename P8::second , map8< P0,P1,P2,P3,P4,P5,P6,P7 > > { }; +template< typename Map> +struct m_at< Map,9 > +{ + typedef typename Map::item9 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 10,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item9; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 > struct map10 : m_item< - typename P9::first + 10 + , typename P9::first , typename P9::second , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > > diff --git a/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp b/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp index b2b52b3..0c5a1e8 100644 --- a/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp @@ -7,11 +7,24 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map20.hpp" header +// Preprocessed version of "boost/mpl/map/map20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { +template< typename Map> +struct m_at< Map,10 > +{ + typedef typename Map::item10 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 11,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item10; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -19,13 +32,27 @@ template< > struct map11 : m_item< - typename P10::first + 11 + , typename P10::first , typename P10::second , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > > { }; +template< typename Map> +struct m_at< Map,11 > +{ + typedef typename Map::item11 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 12,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item11; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -33,13 +60,27 @@ template< > struct map12 : m_item< - typename P11::first + 12 + , typename P11::first , typename P11::second , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > > { }; +template< typename Map> +struct m_at< Map,12 > +{ + typedef typename Map::item12 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 13,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item12; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -47,13 +88,27 @@ template< > struct map13 : m_item< - typename P12::first + 13 + , typename P12::first , typename P12::second , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > > { }; +template< typename Map> +struct m_at< Map,13 > +{ + typedef typename Map::item13 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 14,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item13; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -61,13 +116,27 @@ template< > struct map14 : m_item< - typename P13::first + 14 + , typename P13::first , typename P13::second , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > > { }; +template< typename Map> +struct m_at< Map,14 > +{ + typedef typename Map::item14 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 15,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item14; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -75,13 +144,27 @@ template< > struct map15 : m_item< - typename P14::first + 15 + , typename P14::first , typename P14::second , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > > { }; +template< typename Map> +struct m_at< Map,15 > +{ + typedef typename Map::item15 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 16,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item15; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -90,13 +173,27 @@ template< > struct map16 : m_item< - typename P15::first + 16 + , typename P15::first , typename P15::second , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > > { }; +template< typename Map> +struct m_at< Map,16 > +{ + typedef typename Map::item16 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 17,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item16; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -105,13 +202,27 @@ template< > struct map17 : m_item< - typename P16::first + 17 + , typename P16::first , typename P16::second , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > > { }; +template< typename Map> +struct m_at< Map,17 > +{ + typedef typename Map::item17 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 18,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item17; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -120,13 +231,27 @@ template< > struct map18 : m_item< - typename P17::first + 18 + , typename P17::first , typename P17::second , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > > { }; +template< typename Map> +struct m_at< Map,18 > +{ + typedef typename Map::item18 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 19,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item18; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -135,13 +260,27 @@ template< > struct map19 : m_item< - typename P18::first + 19 + , typename P18::first , typename P18::second , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > > { }; +template< typename Map> +struct m_at< Map,19 > +{ + typedef typename Map::item19 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 20,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item19; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -150,7 +289,8 @@ template< > struct map20 : m_item< - typename P19::first + 20 + , typename P19::first , typename P19::second , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > > diff --git a/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp b/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp index d11509f..76edb7b 100644 --- a/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp @@ -7,11 +7,24 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map30.hpp" header +// Preprocessed version of "boost/mpl/map/map30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { +template< typename Map> +struct m_at< Map,20 > +{ + typedef typename Map::item20 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 21,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item20; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -21,13 +34,27 @@ template< > struct map21 : m_item< - typename P20::first + 21 + , typename P20::first , typename P20::second , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > > { }; +template< typename Map> +struct m_at< Map,21 > +{ + typedef typename Map::item21 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 22,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item21; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -37,13 +64,27 @@ template< > struct map22 : m_item< - typename P21::first + 22 + , typename P21::first , typename P21::second , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > > { }; +template< typename Map> +struct m_at< Map,22 > +{ + typedef typename Map::item22 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 23,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item22; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -53,13 +94,27 @@ template< > struct map23 : m_item< - typename P22::first + 23 + , typename P22::first , typename P22::second , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > > { }; +template< typename Map> +struct m_at< Map,23 > +{ + typedef typename Map::item23 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 24,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item23; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -69,13 +124,27 @@ template< > struct map24 : m_item< - typename P23::first + 24 + , typename P23::first , typename P23::second , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > > { }; +template< typename Map> +struct m_at< Map,24 > +{ + typedef typename Map::item24 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 25,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item24; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -85,13 +154,27 @@ template< > struct map25 : m_item< - typename P24::first + 25 + , typename P24::first , typename P24::second , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > > { }; +template< typename Map> +struct m_at< Map,25 > +{ + typedef typename Map::item25 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 26,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item25; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -102,13 +185,27 @@ template< > struct map26 : m_item< - typename P25::first + 26 + , typename P25::first , typename P25::second , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > > { }; +template< typename Map> +struct m_at< Map,26 > +{ + typedef typename Map::item26 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 27,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item26; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -119,13 +216,27 @@ template< > struct map27 : m_item< - typename P26::first + 27 + , typename P26::first , typename P26::second , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > > { }; +template< typename Map> +struct m_at< Map,27 > +{ + typedef typename Map::item27 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 28,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item27; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -136,13 +247,27 @@ template< > struct map28 : m_item< - typename P27::first + 28 + , typename P27::first , typename P27::second , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > > { }; +template< typename Map> +struct m_at< Map,28 > +{ + typedef typename Map::item28 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 29,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item28; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -153,13 +278,27 @@ template< > struct map29 : m_item< - typename P28::first + 29 + , typename P28::first , typename P28::second , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > > { }; +template< typename Map> +struct m_at< Map,29 > +{ + typedef typename Map::item29 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 30,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item29; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -170,7 +309,8 @@ template< > struct map30 : m_item< - typename P29::first + 30 + , typename P29::first , typename P29::second , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > > diff --git a/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp b/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp index 6a374d5..0278f2e 100644 --- a/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp @@ -7,11 +7,24 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map40.hpp" header +// Preprocessed version of "boost/mpl/map/map40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { +template< typename Map> +struct m_at< Map,30 > +{ + typedef typename Map::item30 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 31,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item30; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -23,13 +36,27 @@ template< > struct map31 : m_item< - typename P30::first + 31 + , typename P30::first , typename P30::second , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > > { }; +template< typename Map> +struct m_at< Map,31 > +{ + typedef typename Map::item31 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 32,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item31; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -41,13 +68,27 @@ template< > struct map32 : m_item< - typename P31::first + 32 + , typename P31::first , typename P31::second , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > > { }; +template< typename Map> +struct m_at< Map,32 > +{ + typedef typename Map::item32 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 33,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item32; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -59,13 +100,27 @@ template< > struct map33 : m_item< - typename P32::first + 33 + , typename P32::first , typename P32::second , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > > { }; +template< typename Map> +struct m_at< Map,33 > +{ + typedef typename Map::item33 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 34,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item33; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -77,13 +132,27 @@ template< > struct map34 : m_item< - typename P33::first + 34 + , typename P33::first , typename P33::second , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > > { }; +template< typename Map> +struct m_at< Map,34 > +{ + typedef typename Map::item34 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 35,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item34; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -95,13 +164,27 @@ template< > struct map35 : m_item< - typename P34::first + 35 + , typename P34::first , typename P34::second , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > > { }; +template< typename Map> +struct m_at< Map,35 > +{ + typedef typename Map::item35 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 36,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item35; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -114,13 +197,27 @@ template< > struct map36 : m_item< - typename P35::first + 36 + , typename P35::first , typename P35::second , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > > { }; +template< typename Map> +struct m_at< Map,36 > +{ + typedef typename Map::item36 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 37,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item36; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -133,13 +230,27 @@ template< > struct map37 : m_item< - typename P36::first + 37 + , typename P36::first , typename P36::second , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > > { }; +template< typename Map> +struct m_at< Map,37 > +{ + typedef typename Map::item37 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 38,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item37; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -152,13 +263,27 @@ template< > struct map38 : m_item< - typename P37::first + 38 + , typename P37::first , typename P37::second , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > > { }; +template< typename Map> +struct m_at< Map,38 > +{ + typedef typename Map::item38 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 39,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item38; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -171,13 +296,27 @@ template< > struct map39 : m_item< - typename P38::first + 39 + , typename P38::first , typename P38::second , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > > { }; +template< typename Map> +struct m_at< Map,39 > +{ + typedef typename Map::item39 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 40,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item39; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -190,7 +329,8 @@ template< > struct map40 : m_item< - typename P39::first + 40 + , typename P39::first , typename P39::second , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > > diff --git a/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp b/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp index 42451a4..9c0dd8d 100644 --- a/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp @@ -7,11 +7,24 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map50.hpp" header +// Preprocessed version of "boost/mpl/map/map50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { +template< typename Map> +struct m_at< Map,40 > +{ + typedef typename Map::item40 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 41,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item40; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -25,13 +38,27 @@ template< > struct map41 : m_item< - typename P40::first + 41 + , typename P40::first , typename P40::second , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > > { }; +template< typename Map> +struct m_at< Map,41 > +{ + typedef typename Map::item41 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 42,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item41; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -45,13 +72,27 @@ template< > struct map42 : m_item< - typename P41::first + 42 + , typename P41::first , typename P41::second , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > > { }; +template< typename Map> +struct m_at< Map,42 > +{ + typedef typename Map::item42 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 43,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item42; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -65,13 +106,27 @@ template< > struct map43 : m_item< - typename P42::first + 43 + , typename P42::first , typename P42::second , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > > { }; +template< typename Map> +struct m_at< Map,43 > +{ + typedef typename Map::item43 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 44,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item43; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -85,13 +140,27 @@ template< > struct map44 : m_item< - typename P43::first + 44 + , typename P43::first , typename P43::second , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > > { }; +template< typename Map> +struct m_at< Map,44 > +{ + typedef typename Map::item44 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 45,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item44; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -105,13 +174,27 @@ template< > struct map45 : m_item< - typename P44::first + 45 + , typename P44::first , typename P44::second , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > > { }; +template< typename Map> +struct m_at< Map,45 > +{ + typedef typename Map::item45 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 46,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item45; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -126,13 +209,27 @@ template< > struct map46 : m_item< - typename P45::first + 46 + , typename P45::first , typename P45::second , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > > { }; +template< typename Map> +struct m_at< Map,46 > +{ + typedef typename Map::item46 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 47,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item46; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -147,13 +244,27 @@ template< > struct map47 : m_item< - typename P46::first + 47 + , typename P46::first , typename P46::second , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > > { }; +template< typename Map> +struct m_at< Map,47 > +{ + typedef typename Map::item47 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 48,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item47; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -168,13 +279,27 @@ template< > struct map48 : m_item< - typename P47::first + 48 + , typename P47::first , typename P47::second , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > > { }; +template< typename Map> +struct m_at< Map,48 > +{ + typedef typename Map::item48 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 49,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item48; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -189,13 +314,27 @@ template< > struct map49 : m_item< - typename P48::first + 49 + , typename P48::first , typename P48::second , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > > { }; +template< typename Map> +struct m_at< Map,49 > +{ + typedef typename Map::item49 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 50,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item49; +}; + template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 @@ -210,7 +349,8 @@ template< > struct map50 : m_item< - typename P49::first + 50 + , typename P49::first , typename P49::second , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > > diff --git a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp index 8e24c3c..d5d7aaf 100644 --- a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map10.hpp" header +// Preprocessed version of "boost/mpl/map/map10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp index b2b52b3..ebd39e2 100644 --- a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map20.hpp" header +// Preprocessed version of "boost/mpl/map/map20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp index d11509f..04b308e 100644 --- a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map30.hpp" header +// Preprocessed version of "boost/mpl/map/map30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp index 6a374d5..29b8091 100644 --- a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map40.hpp" header +// Preprocessed version of "boost/mpl/map/map40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp index 42451a4..a66e04b 100644 --- a/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +++ b/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/map/Attic/map50.hpp" header +// Preprocessed version of "boost/mpl/map/map50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { diff --git a/include/boost/mpl/map/map10.hpp b/include/boost/mpl/map/map10.hpp index bef6903..68517ca 100644 --- a/include/boost/mpl/map/map10.hpp +++ b/include/boost/mpl/map/map10.hpp @@ -34,7 +34,7 @@ namespace boost { namespace mpl { # define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(0, 10, )) + (3,(1, 10, )) # include BOOST_PP_ITERATE() }} diff --git a/include/boost/mpl/set/aux_/has_key_impl.hpp b/include/boost/mpl/set/aux_/has_key_impl.hpp index 527226d..1746ce6 100644 --- a/include/boost/mpl/set/aux_/has_key_impl.hpp +++ b/include/boost/mpl/set/aux_/has_key_impl.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -30,27 +31,24 @@ template<> struct has_key_impl< aux::set_tag > { template< typename Set, typename T > struct apply -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) { BOOST_STATIC_CONSTANT(bool, value = - ( sizeof( - *BOOST_MPL_AUX_STATIC_CAST(Set*, 0) - % BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) - ) == sizeof(aux::yes_tag) ) + ( sizeof( BOOST_MPL_AUX_OVERLOAD_IS_MASKED( + *BOOST_MPL_AUX_STATIC_CAST(Set*, 0) + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) == sizeof(aux::no_tag) ) ); -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) - typedef bool_<(apply::value)> type; -# else typedef bool_ type; -# endif #else // ISO98 C++ : bool_< - ( sizeof( - aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Set*, 0)) - % BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) - ) == sizeof(aux::yes_tag) ) + ( sizeof( BOOST_MPL_AUX_OVERLOAD_IS_MASKED( + aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(Set*, 0)) + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) == sizeof(aux::no_tag) ) > { #endif diff --git a/include/boost/mpl/set/aux_/insert_impl.hpp b/include/boost/mpl/set/aux_/insert_impl.hpp index 420d0fd..ef3df29 100644 --- a/include/boost/mpl/set/aux_/insert_impl.hpp +++ b/include/boost/mpl/set/aux_/insert_impl.hpp @@ -39,13 +39,6 @@ template< typename Set, typename T > struct set_insert_impl , identity< s_item > > > -/* - : eval< if_< - has_key - , if_< is_same< T,typename Set::last_masked >, base< arg >, Set > - , Set - > > -*/ { }; } diff --git a/include/boost/mpl/set/aux_/item.hpp b/include/boost/mpl/set/aux_/item.hpp index 34508d5..66e68e1 100644 --- a/include/boost/mpl/set/aux_/item.hpp +++ b/include/boost/mpl/set/aux_/item.hpp @@ -20,16 +20,20 @@ #include #include #include +#include #include #include #include #include #include +#include + + namespace boost { namespace mpl { -aux::no_tag operator/(set0<> const&, void*); -aux::no_tag operator%(set0<> const&, void*); +aux::no_tag BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( set0<> const&, void const volatile* ); +aux::yes_tag BOOST_MPL_AUX_OVERLOAD_IS_MASKED( set0<> const&, void const volatile* ); #if defined(BOOST_MPL_CFG_USE_OPERATORS_SPECIALIZATION) @@ -39,22 +43,25 @@ template< typename T, typename Base > struct s_unmask; template< typename T, typename Base > typename s_item::order_tag_ -operator/(s_item const&, aux::type_wrapper*); +BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( s_item const&, aux::type_wrapper* ); template< typename T, typename Base > -aux::yes_tag operator%(s_item const&, aux::type_wrapper*); +aux::no_tag +BOOST_MPL_AUX_OVERLOAD_IS_MASKED( s_item const&, aux::type_wrapper* ); template< typename T, typename Base > -aux::yes_tag operator%(s_unmask const&, aux::type_wrapper*); +aux::no_tag +BOOST_MPL_AUX_OVERLOAD_IS_MASKED( s_unmask const&, aux::type_wrapper* ); template< typename T, typename Base > -aux::no_tag operator%(s_mask const&, aux::type_wrapper*); +aux::yes_tag +BOOST_MPL_AUX_OVERLOAD_IS_MASKED( s_mask const&, aux::type_wrapper* ); -# define MPL_AUX_SET_OPERATOR(x) operator x <> +# define AUX778076_SET_OVERLOAD(f) BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)<> -#else -# define MPL_AUX_SET_OPERATOR(x) operator x -#endif +# else +# define AUX778076_SET_OVERLOAD(f) BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) +# endif template< typename T, typename Base > @@ -68,17 +75,16 @@ struct s_item typedef Base base; typedef typename next< typename Base::size >::type size; - - BOOST_STATIC_CONSTANT(long, order = Base::order + 1); + typedef typename next< typename Base::order >::type order; -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) - typedef typename aux::weighted_tag<(Base::order + 1)>::type order_tag_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; #else - typedef char (&order_tag_)[order]; + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif - friend order_tag_ MPL_AUX_SET_OPERATOR(/)(s_item const&, aux::type_wrapper*); - friend aux::yes_tag MPL_AUX_SET_OPERATOR(%)(s_item const&, aux::type_wrapper*); + friend order_tag_ AUX778076_SET_OVERLOAD(ORDER_BY_KEY)( s_item const&, aux::type_wrapper* ); + friend aux::no_tag AUX778076_SET_OVERLOAD(IS_MASKED)( s_item const&, aux::type_wrapper* ); }; @@ -91,7 +97,7 @@ struct s_mask typedef Base base; typedef typename prior< typename Base::size >::type size; - friend aux::no_tag MPL_AUX_SET_OPERATOR(%)(s_mask const&, aux::type_wrapper*); + friend aux::yes_tag AUX778076_SET_OVERLOAD(IS_MASKED)( s_mask const&, aux::type_wrapper* ); }; @@ -104,10 +110,10 @@ struct s_unmask typedef Base base; typedef typename next< typename Base::size >::type size; - friend aux::yes_tag MPL_AUX_SET_OPERATOR(%)(s_unmask const&, aux::type_wrapper*); + friend aux::no_tag AUX778076_SET_OVERLOAD(IS_MASKED)( s_unmask const&, aux::type_wrapper* ); }; -#undef MPL_AUX_SET_OPERATOR +#undef AUX778076_SET_OVERLOAD }} diff --git a/include/boost/mpl/set/aux_/numbered.hpp b/include/boost/mpl/set/aux_/numbered.hpp index 99afb3c..423bb67 100644 --- a/include/boost/mpl/set/aux_/numbered.hpp +++ b/include/boost/mpl/set/aux_/numbered.hpp @@ -37,6 +37,7 @@ struct BOOST_PP_CAT(set,i_) , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T) > { + typedef BOOST_PP_CAT(set,i_) type; }; #endif diff --git a/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp b/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp index 040140b..1db4320 100644 --- a/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +++ b/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/set/Attic/set10.hpp" header +// Preprocessed version of "boost/mpl/set/set10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { @@ -21,6 +21,7 @@ struct set1 , set0< > > { + typedef set1 type; }; template< @@ -32,6 +33,7 @@ struct set2 , set1 > { + typedef set2 type; }; template< @@ -43,6 +45,7 @@ struct set3 , set2< T0,T1 > > { + typedef set3 type; }; template< @@ -54,6 +57,7 @@ struct set4 , set3< T0,T1,T2 > > { + typedef set4 type; }; template< @@ -65,6 +69,7 @@ struct set5 , set4< T0,T1,T2,T3 > > { + typedef set5 type; }; template< @@ -77,6 +82,7 @@ struct set6 , set5< T0,T1,T2,T3,T4 > > { + typedef set6 type; }; template< @@ -89,6 +95,7 @@ struct set7 , set6< T0,T1,T2,T3,T4,T5 > > { + typedef set7 type; }; template< @@ -101,6 +108,7 @@ struct set8 , set7< T0,T1,T2,T3,T4,T5,T6 > > { + typedef set8 type; }; template< @@ -113,6 +121,7 @@ struct set9 , set8< T0,T1,T2,T3,T4,T5,T6,T7 > > { + typedef set9 type; }; template< @@ -125,6 +134,7 @@ struct set10 , set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > > { + typedef set10 type; }; }} diff --git a/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp b/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp index 6696d42..1e4e844 100644 --- a/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +++ b/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/set/Attic/set20.hpp" header +// Preprocessed version of "boost/mpl/set/set20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { @@ -23,6 +23,7 @@ struct set11 , set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > > { + typedef set11 type; }; template< @@ -36,6 +37,7 @@ struct set12 , set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > > { + typedef set12 type; }; template< @@ -49,6 +51,7 @@ struct set13 , set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > > { + typedef set13 type; }; template< @@ -62,6 +65,7 @@ struct set14 , set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > > { + typedef set14 type; }; template< @@ -75,6 +79,7 @@ struct set15 , set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > > { + typedef set15 type; }; template< @@ -89,6 +94,7 @@ struct set16 , set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > > { + typedef set16 type; }; template< @@ -103,6 +109,7 @@ struct set17 , set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > > { + typedef set17 type; }; template< @@ -117,6 +124,7 @@ struct set18 , set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > > { + typedef set18 type; }; template< @@ -131,6 +139,7 @@ struct set19 , set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > > { + typedef set19 type; }; template< @@ -145,6 +154,7 @@ struct set20 , set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > > { + typedef set20 type; }; }} diff --git a/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp b/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp index 9342036..d3ae419 100644 --- a/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +++ b/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/set/Attic/set30.hpp" header +// Preprocessed version of "boost/mpl/set/set30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { @@ -25,6 +25,7 @@ struct set21 , set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 > > { + typedef set21 type; }; template< @@ -40,6 +41,7 @@ struct set22 , set21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 > > { + typedef set22 type; }; template< @@ -55,6 +57,7 @@ struct set23 , set22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 > > { + typedef set23 type; }; template< @@ -70,6 +73,7 @@ struct set24 , set23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 > > { + typedef set24 type; }; template< @@ -85,6 +89,7 @@ struct set25 , set24< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 > > { + typedef set25 type; }; template< @@ -101,6 +106,7 @@ struct set26 , set25< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 > > { + typedef set26 type; }; template< @@ -117,6 +123,7 @@ struct set27 , set26< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 > > { + typedef set27 type; }; template< @@ -133,6 +140,7 @@ struct set28 , set27< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 > > { + typedef set28 type; }; template< @@ -149,6 +157,7 @@ struct set29 , set28< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 > > { + typedef set29 type; }; template< @@ -165,6 +174,7 @@ struct set30 , set29< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 > > { + typedef set30 type; }; }} diff --git a/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp b/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp index 84dd70b..078f347 100644 --- a/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +++ b/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/set/Attic/set40.hpp" header +// Preprocessed version of "boost/mpl/set/set40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { @@ -27,6 +27,7 @@ struct set31 , set30< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 > > { + typedef set31 type; }; template< @@ -44,6 +45,7 @@ struct set32 , set31< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 > > { + typedef set32 type; }; template< @@ -61,6 +63,7 @@ struct set33 , set32< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 > > { + typedef set33 type; }; template< @@ -78,6 +81,7 @@ struct set34 , set33< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 > > { + typedef set34 type; }; template< @@ -95,6 +99,7 @@ struct set35 , set34< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 > > { + typedef set35 type; }; template< @@ -113,6 +118,7 @@ struct set36 , set35< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 > > { + typedef set36 type; }; template< @@ -131,6 +137,7 @@ struct set37 , set36< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 > > { + typedef set37 type; }; template< @@ -149,6 +156,7 @@ struct set38 , set37< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 > > { + typedef set38 type; }; template< @@ -167,6 +175,7 @@ struct set39 , set38< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 > > { + typedef set39 type; }; template< @@ -185,6 +194,7 @@ struct set40 , set39< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 > > { + typedef set40 type; }; }} diff --git a/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp b/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp index bbe2115..0c1c602 100644 --- a/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +++ b/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp @@ -7,7 +7,7 @@ // http://www.boost.org/LICENSE_1_0.txt) // -// Preprocessed version of "boost/mpl/set/Attic/set50.hpp" header +// Preprocessed version of "boost/mpl/set/set50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { @@ -29,6 +29,7 @@ struct set41 , set40< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 > > { + typedef set41 type; }; template< @@ -48,6 +49,7 @@ struct set42 , set41< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 > > { + typedef set42 type; }; template< @@ -67,6 +69,7 @@ struct set43 , set42< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 > > { + typedef set43 type; }; template< @@ -86,6 +89,7 @@ struct set44 , set43< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 > > { + typedef set44 type; }; template< @@ -105,6 +109,7 @@ struct set45 , set44< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 > > { + typedef set45 type; }; template< @@ -125,6 +130,7 @@ struct set46 , set45< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 > > { + typedef set46 type; }; template< @@ -145,6 +151,7 @@ struct set47 , set46< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 > > { + typedef set47 type; }; template< @@ -165,6 +172,7 @@ struct set48 , set47< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 > > { + typedef set48 type; }; template< @@ -185,6 +193,7 @@ struct set49 , set48< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 > > { + typedef set49 type; }; template< @@ -205,6 +214,7 @@ struct set50 , set49< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 > > { + typedef set50 type; }; }} diff --git a/include/boost/mpl/set/aux_/set0.hpp b/include/boost/mpl/set/aux_/set0.hpp index 3973cd0..35b2726 100644 --- a/include/boost/mpl/set/aux_/set0.hpp +++ b/include/boost/mpl/set/aux_/set0.hpp @@ -17,20 +17,19 @@ #include #include +#include #include -#include namespace boost { namespace mpl { -template< int dummy_ = 0 > struct set0 +template< typename Dummy = na > struct set0 { typedef aux::set_tag tag; typedef void_ last_masked_; typedef void_ item_type_; typedef item_type_ type; typedef long_<0> size; - - BOOST_STATIC_CONSTANT(long, order = 0); + typedef long_<1> order; }; }} diff --git a/include/boost/mpl/vector/aux_/item.hpp b/include/boost/mpl/vector/aux_/item.hpp index b981cc5..4f972f0 100644 --- a/include/boost/mpl/vector/aux_/item.hpp +++ b/include/boost/mpl/vector/aux_/item.hpp @@ -33,9 +33,9 @@ template< struct v_item : Base { - typedef typename Base::upper_bound_ index_; - typedef typename next::type upper_bound_; - typedef typename next::type size; + typedef typename Base::upper_bound_ index_; + typedef typename next::type upper_bound_; + typedef typename next::type size; typedef Base base; using Base::item_; @@ -49,9 +49,9 @@ template< struct v_item : Base { - typedef typename prior::type index_; - typedef index_ lower_bound_; - typedef typename next::type size; + typedef typename prior::type index_; + typedef index_ lower_bound_; + typedef typename next::type size; typedef Base base; using Base::item_; @@ -66,9 +66,9 @@ template< struct v_mask : Base { - typedef typename prior::type index_; - typedef index_ upper_bound_; - typedef typename prior::type size; + typedef typename prior::type index_; + typedef index_ upper_bound_; + typedef typename prior::type size; typedef Base base; using Base::item_; @@ -81,9 +81,9 @@ template< struct v_mask : Base { - typedef typename Base::lower_bound_ index_; - typedef typename next::type lower_bound_; - typedef typename prior::type size; + typedef typename Base::lower_bound_ index_; + typedef typename next::type lower_bound_; + typedef typename prior::type size; typedef Base base; using Base::item_; diff --git a/preprocessed/list/list10.cpp b/preprocessed/list/list10.cpp index 7044ffa..0f0a503 100644 --- a/preprocessed/list/list10.cpp +++ b/preprocessed/list/list10.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list10_c.cpp b/preprocessed/list/list10_c.cpp index b4da119..4e51106 100644 --- a/preprocessed/list/list10_c.cpp +++ b/preprocessed/list/list10_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list20.cpp b/preprocessed/list/list20.cpp index 461b3fc..ddf6431 100644 --- a/preprocessed/list/list20.cpp +++ b/preprocessed/list/list20.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list20_c.cpp b/preprocessed/list/list20_c.cpp index b86133d..52bcd44 100644 --- a/preprocessed/list/list20_c.cpp +++ b/preprocessed/list/list20_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list30.cpp b/preprocessed/list/list30.cpp index 862644d..a4adca4 100644 --- a/preprocessed/list/list30.cpp +++ b/preprocessed/list/list30.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list30_c.cpp b/preprocessed/list/list30_c.cpp index d2c04e7..b9d75bc 100644 --- a/preprocessed/list/list30_c.cpp +++ b/preprocessed/list/list30_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list40.cpp b/preprocessed/list/list40.cpp index 4a993ca..06cd01f 100644 --- a/preprocessed/list/list40.cpp +++ b/preprocessed/list/list40.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list40_c.cpp b/preprocessed/list/list40_c.cpp index 56b8510..6dca46b 100644 --- a/preprocessed/list/list40_c.cpp +++ b/preprocessed/list/list40_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list50.cpp b/preprocessed/list/list50.cpp index 2712a86..ac396e8 100644 --- a/preprocessed/list/list50.cpp +++ b/preprocessed/list/list50.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/list/list50_c.cpp b/preprocessed/list/list50_c.cpp index 6c12a2d..21f9b9d 100644 --- a/preprocessed/list/list50_c.cpp +++ b/preprocessed/list/list50_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/map/map10.cpp b/preprocessed/map/map10.cpp index f4a0f2d..1fe8236 100644 --- a/preprocessed/map/map10.cpp +++ b/preprocessed/map/map10.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/map/map20.cpp b/preprocessed/map/map20.cpp index eca3cdd..9cd0c09 100644 --- a/preprocessed/map/map20.cpp +++ b/preprocessed/map/map20.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/map/map30.cpp b/preprocessed/map/map30.cpp index d4c040f..ed6b512 100644 --- a/preprocessed/map/map30.cpp +++ b/preprocessed/map/map30.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/map/map40.cpp b/preprocessed/map/map40.cpp index 02e85fa..8e7f4fb 100644 --- a/preprocessed/map/map40.cpp +++ b/preprocessed/map/map40.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/map/map50.cpp b/preprocessed/map/map50.cpp index f7cbc44..e3bb48f 100644 --- a/preprocessed/map/map50.cpp +++ b/preprocessed/map/map50.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/pp.py b/preprocessed/pp.py index 8f0ede4..c05c0a7 100644 --- a/preprocessed/pp.py +++ b/preprocessed/pp.py @@ -145,7 +145,11 @@ class pretty: self.reading_copyright = 0 self.copyright = None - self.re_header_name_comment = re.compile( r'^\s*//\s+\$[S]ource: /cvsroot/boost/boost/(.*),v\s*\$$' ) + self.re_header_name_comment = re.compile( + r'^\s*//\s+\$[S]ource: /cvsroot/boost/boost/(.*?%s\.hpp),v\s*\$$' + % os.path.splitext( name )[0] + ) + self.header_was_written = 0 self.re_junk = re.compile(r'^\s*(#|//[^/]|////).*$') @@ -189,15 +193,16 @@ class pretty: return # searching for header line - if not self.header_was_written and self.re_header_name_comment.match( line ): - self.header_was_written = 1 - match = self.re_header_name_comment.match( line ) - self.output.write( \ - '\n%s\n' \ - '// Preprocessed version of "%s" header\n' \ - '// -- DO NOT modify by hand!\n\n' \ - % ( self.copyright, match.group(1) ) - ) + if not self.header_was_written: + if self.re_header_name_comment.match( line ): + self.header_was_written = 1 + match = self.re_header_name_comment.match( line ) + self.output.write( \ + '\n%s\n' \ + '// Preprocessed version of "%s" header\n' \ + '// -- DO NOT modify by hand!\n\n' \ + % ( self.copyright, match.group(1) ) + ) return # skipping preprocessor directives, comments, etc. diff --git a/preprocessed/set/set10.cpp b/preprocessed/set/set10.cpp index d64b0d8..bbc9f5a 100644 --- a/preprocessed/set/set10.cpp +++ b/preprocessed/set/set10.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/set/set20.cpp b/preprocessed/set/set20.cpp index 80f991d..029da68 100644 --- a/preprocessed/set/set20.cpp +++ b/preprocessed/set/set20.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/set/set30.cpp b/preprocessed/set/set30.cpp index 668604c..7da58a9 100644 --- a/preprocessed/set/set30.cpp +++ b/preprocessed/set/set30.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/set/set40.cpp b/preprocessed/set/set40.cpp index 596cd48..dcd9bcc 100644 --- a/preprocessed/set/set40.cpp +++ b/preprocessed/set/set40.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/set/set50.cpp b/preprocessed/set/set50.cpp index 9324581..951d5d8 100644 --- a/preprocessed/set/set50.cpp +++ b/preprocessed/set/set50.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/advance_backward.cpp b/preprocessed/src/advance_backward.cpp index d7ec37a..02cff72 100644 --- a/preprocessed/src/advance_backward.cpp +++ b/preprocessed/src/advance_backward.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/advance_forward.cpp b/preprocessed/src/advance_forward.cpp index bbdc7f1..a8c8573 100644 --- a/preprocessed/src/advance_forward.cpp +++ b/preprocessed/src/advance_forward.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/and.cpp b/preprocessed/src/and.cpp index 9700a64..584c0e9 100644 --- a/preprocessed/src/and.cpp +++ b/preprocessed/src/and.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/apply.cpp b/preprocessed/src/apply.cpp index f365071..3358bad 100644 --- a/preprocessed/src/apply.cpp +++ b/preprocessed/src/apply.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/apply_fwd.cpp b/preprocessed/src/apply_fwd.cpp index 338d84c..7c2e4a2 100644 --- a/preprocessed/src/apply_fwd.cpp +++ b/preprocessed/src/apply_fwd.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/apply_wrap.cpp b/preprocessed/src/apply_wrap.cpp index 8f36771..718d245 100644 --- a/preprocessed/src/apply_wrap.cpp +++ b/preprocessed/src/apply_wrap.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/arg.cpp b/preprocessed/src/arg.cpp index 811e3d3..823f76a 100644 --- a/preprocessed/src/arg.cpp +++ b/preprocessed/src/arg.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/basic_bind.cpp b/preprocessed/src/basic_bind.cpp index c7b82d8..c4191e8 100644 --- a/preprocessed/src/basic_bind.cpp +++ b/preprocessed/src/basic_bind.cpp @@ -1,3 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE -#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT -#include +#include +#include diff --git a/preprocessed/src/bind.cpp b/preprocessed/src/bind.cpp index fae5f7a..60b4887 100644 --- a/preprocessed/src/bind.cpp +++ b/preprocessed/src/bind.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/bind_fwd.cpp b/preprocessed/src/bind_fwd.cpp index 46a6dc6..70cd75b 100644 --- a/preprocessed/src/bind_fwd.cpp +++ b/preprocessed/src/bind_fwd.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/bitand.cpp b/preprocessed/src/bitand.cpp index cafe366..4d93d83 100644 --- a/preprocessed/src/bitand.cpp +++ b/preprocessed/src/bitand.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/bitor.cpp b/preprocessed/src/bitor.cpp index eabd231..dd19016 100644 --- a/preprocessed/src/bitor.cpp +++ b/preprocessed/src/bitor.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/bitxor.cpp b/preprocessed/src/bitxor.cpp index b180677..74a5687 100644 --- a/preprocessed/src/bitxor.cpp +++ b/preprocessed/src/bitxor.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/divides.cpp b/preprocessed/src/divides.cpp index 47eb285..2f617ff 100644 --- a/preprocessed/src/divides.cpp +++ b/preprocessed/src/divides.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/equal_to.cpp b/preprocessed/src/equal_to.cpp index 7d24195..674c603 100644 --- a/preprocessed/src/equal_to.cpp +++ b/preprocessed/src/equal_to.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/fold_impl.cpp b/preprocessed/src/fold_impl.cpp index 639d8f0..3bed069 100644 --- a/preprocessed/src/fold_impl.cpp +++ b/preprocessed/src/fold_impl.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/full_lambda.cpp b/preprocessed/src/full_lambda.cpp index 4a08605..31f2244 100644 --- a/preprocessed/src/full_lambda.cpp +++ b/preprocessed/src/full_lambda.cpp @@ -1,3 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE -//#define BOOST_MPL_CFG_NO_LAMBDA_HEURISTIC +#include #include diff --git a/preprocessed/src/greater.cpp b/preprocessed/src/greater.cpp index 182222e..7760db7 100644 --- a/preprocessed/src/greater.cpp +++ b/preprocessed/src/greater.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/greater_equal.cpp b/preprocessed/src/greater_equal.cpp index 6a21cc0..48a11a1 100644 --- a/preprocessed/src/greater_equal.cpp +++ b/preprocessed/src/greater_equal.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/inherit.cpp b/preprocessed/src/inherit.cpp index 9f9add5..7f1960c 100644 --- a/preprocessed/src/inherit.cpp +++ b/preprocessed/src/inherit.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/iter_fold_if_impl.cpp b/preprocessed/src/iter_fold_if_impl.cpp index 0c1475d..751cdb9 100644 --- a/preprocessed/src/iter_fold_if_impl.cpp +++ b/preprocessed/src/iter_fold_if_impl.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/iter_fold_impl.cpp b/preprocessed/src/iter_fold_impl.cpp index 13fce2f..530b48a 100644 --- a/preprocessed/src/iter_fold_impl.cpp +++ b/preprocessed/src/iter_fold_impl.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/lambda_no_ctps.cpp b/preprocessed/src/lambda_no_ctps.cpp index e2fbf7c..0bf2ba0 100644 --- a/preprocessed/src/lambda_no_ctps.cpp +++ b/preprocessed/src/lambda_no_ctps.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/less.cpp b/preprocessed/src/less.cpp index b230626..ff80291 100644 --- a/preprocessed/src/less.cpp +++ b/preprocessed/src/less.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/less_equal.cpp b/preprocessed/src/less_equal.cpp index a77a762..1012693 100644 --- a/preprocessed/src/less_equal.cpp +++ b/preprocessed/src/less_equal.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/list.cpp b/preprocessed/src/list.cpp index fe0ea06..e390c51 100644 --- a/preprocessed/src/list.cpp +++ b/preprocessed/src/list.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/list_c.cpp b/preprocessed/src/list_c.cpp index baedd93..557aec6 100644 --- a/preprocessed/src/list_c.cpp +++ b/preprocessed/src/list_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/map.cpp b/preprocessed/src/map.cpp index 7263ad6..38edea7 100644 --- a/preprocessed/src/map.cpp +++ b/preprocessed/src/map.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/minus.cpp b/preprocessed/src/minus.cpp index 1fd3f26..927a76d 100644 --- a/preprocessed/src/minus.cpp +++ b/preprocessed/src/minus.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/modulus.cpp b/preprocessed/src/modulus.cpp index f4de14d..ae0724a 100644 --- a/preprocessed/src/modulus.cpp +++ b/preprocessed/src/modulus.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/not_equal_to.cpp b/preprocessed/src/not_equal_to.cpp index 6205307..7a8483e 100644 --- a/preprocessed/src/not_equal_to.cpp +++ b/preprocessed/src/not_equal_to.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/or.cpp b/preprocessed/src/or.cpp index 42ce15b..5bd2a3a 100644 --- a/preprocessed/src/or.cpp +++ b/preprocessed/src/or.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/placeholders.cpp b/preprocessed/src/placeholders.cpp index 0a126c9..ac5a1f9 100644 --- a/preprocessed/src/placeholders.cpp +++ b/preprocessed/src/placeholders.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/plus.cpp b/preprocessed/src/plus.cpp index 942eeff..966a0eb 100644 --- a/preprocessed/src/plus.cpp +++ b/preprocessed/src/plus.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/quote.cpp b/preprocessed/src/quote.cpp index b63058b..21a595a 100644 --- a/preprocessed/src/quote.cpp +++ b/preprocessed/src/quote.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/reverse_fold_impl.cpp b/preprocessed/src/reverse_fold_impl.cpp index d66a718..14ee761 100644 --- a/preprocessed/src/reverse_fold_impl.cpp +++ b/preprocessed/src/reverse_fold_impl.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/reverse_iter_fold_impl.cpp b/preprocessed/src/reverse_iter_fold_impl.cpp index 2c2c317..544bfc9 100644 --- a/preprocessed/src/reverse_iter_fold_impl.cpp +++ b/preprocessed/src/reverse_iter_fold_impl.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/set.cpp b/preprocessed/src/set.cpp index 3069991..02c873f 100644 --- a/preprocessed/src/set.cpp +++ b/preprocessed/src/set.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/shift_left.cpp b/preprocessed/src/shift_left.cpp index feb1dff..a3bb15a 100644 --- a/preprocessed/src/shift_left.cpp +++ b/preprocessed/src/shift_left.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/shift_right.cpp b/preprocessed/src/shift_right.cpp index cb47a69..4bb6701 100644 --- a/preprocessed/src/shift_right.cpp +++ b/preprocessed/src/shift_right.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/template_arity.cpp b/preprocessed/src/template_arity.cpp index 604a183..8bc4ba8 100644 --- a/preprocessed/src/template_arity.cpp +++ b/preprocessed/src/template_arity.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/times.cpp b/preprocessed/src/times.cpp index b0b2e57..432e330 100644 --- a/preprocessed/src/times.cpp +++ b/preprocessed/src/times.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/unpack_args.cpp b/preprocessed/src/unpack_args.cpp index bf77fed..f614a1b 100644 --- a/preprocessed/src/unpack_args.cpp +++ b/preprocessed/src/unpack_args.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/vector.cpp b/preprocessed/src/vector.cpp index 07d4306..02d330e 100644 --- a/preprocessed/src/vector.cpp +++ b/preprocessed/src/vector.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/src/vector_c.cpp b/preprocessed/src/vector_c.cpp index 2c77514..690e6d1 100644 --- a/preprocessed/src/vector_c.cpp +++ b/preprocessed/src/vector_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector10.cpp b/preprocessed/vector/vector10.cpp index d9b66a5..ebfbec0 100644 --- a/preprocessed/vector/vector10.cpp +++ b/preprocessed/vector/vector10.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector10_c.cpp b/preprocessed/vector/vector10_c.cpp index da5e3a5..2e4194e 100644 --- a/preprocessed/vector/vector10_c.cpp +++ b/preprocessed/vector/vector10_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector20.cpp b/preprocessed/vector/vector20.cpp index c43ae95..1ad34be 100644 --- a/preprocessed/vector/vector20.cpp +++ b/preprocessed/vector/vector20.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector20_c.cpp b/preprocessed/vector/vector20_c.cpp index 8af2f03..be84913 100644 --- a/preprocessed/vector/vector20_c.cpp +++ b/preprocessed/vector/vector20_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector30.cpp b/preprocessed/vector/vector30.cpp index 1604470..4ee043b 100644 --- a/preprocessed/vector/vector30.cpp +++ b/preprocessed/vector/vector30.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector30_c.cpp b/preprocessed/vector/vector30_c.cpp index 3bfa4ce..09238c6 100644 --- a/preprocessed/vector/vector30_c.cpp +++ b/preprocessed/vector/vector30_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector40.cpp b/preprocessed/vector/vector40.cpp index 8214c5a..1f4790b 100644 --- a/preprocessed/vector/vector40.cpp +++ b/preprocessed/vector/vector40.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector40_c.cpp b/preprocessed/vector/vector40_c.cpp index 399b20d..4f6cfb1 100644 --- a/preprocessed/vector/vector40_c.cpp +++ b/preprocessed/vector/vector40_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector50.cpp b/preprocessed/vector/vector50.cpp index bbee908..46e49c9 100644 --- a/preprocessed/vector/vector50.cpp +++ b/preprocessed/vector/vector50.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/preprocessed/vector/vector50_c.cpp b/preprocessed/vector/vector50_c.cpp index 8e7dee4..42de1bb 100644 --- a/preprocessed/vector/vector50_c.cpp +++ b/preprocessed/vector/vector50_c.cpp @@ -1,2 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + #define BOOST_MPL_PREPROCESSING_MODE +#include #include diff --git a/test/map.cpp b/test/map.cpp index 838fd68..87c2e1f 100644 --- a/test/map.cpp +++ b/test/map.cpp @@ -12,7 +12,7 @@ // $Date$ // $Revision$ -#include +#include #include #include #include @@ -30,44 +30,36 @@ MPL_TEST_CASE() { -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - typedef m_mask > > > m; -#else - typedef m_mask > > > m; -#endif + typedef map2< + mpl::pair + , mpl::pair + > m_; + + typedef erase_key::type m; MPL_ASSERT_RELATION( size::type::value, ==, 1 ); MPL_ASSERT_NOT(( empty )); MPL_ASSERT(( is_same< clear::type,map0<> > )); - MPL_ASSERT(( is_same< at::type,unsigned> )); + + MPL_ASSERT(( is_same< at::type,unsigned > )); MPL_ASSERT(( is_same< at::type,void_ > )); - MPL_ASSERT(( contains< m,pair > )); - MPL_ASSERT_NOT(( contains< m,pair > )); - MPL_ASSERT_NOT(( contains< m,pair > )); + MPL_ASSERT(( contains< m,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m,mpl::pair > )); MPL_ASSERT_NOT(( has_key::type )); MPL_ASSERT(( has_key::type )); - MPL_ASSERT_RELATION( (order::type::value), ==, 3 ); - MPL_ASSERT(( is_same< item_by_order::type,pair > )); + + MPL_ASSERT_NOT(( is_same< order::type, void_ > )); MPL_ASSERT(( is_same< order::type,void_ > )); typedef begin::type first; typedef end::type last; - MPL_ASSERT(( is_same< first::type,pair > )); + MPL_ASSERT(( is_same< first::type,mpl::pair > )); MPL_ASSERT(( is_same< next::type,last > )); -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - typedef m_item m2; -#else - typedef m_item3 m2; -#endif + typedef insert >::type m2; MPL_ASSERT_RELATION( size::type::value, ==, 2 ); MPL_ASSERT_NOT(( empty::type )); @@ -75,45 +67,45 @@ MPL_TEST_CASE() MPL_ASSERT(( is_same< at::type,unsigned > )); MPL_ASSERT(( is_same< at::type,long > )); - MPL_ASSERT(( contains< m2,pair > )); - MPL_ASSERT_NOT(( contains< m2,pair > )); - MPL_ASSERT_NOT(( contains< m2,pair > )); - MPL_ASSERT(( contains< m2,pair > )); + MPL_ASSERT(( contains< m2,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m2,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m2,mpl::pair > )); + MPL_ASSERT(( contains< m2,mpl::pair > )); MPL_ASSERT(( has_key::type )); MPL_ASSERT_NOT(( has_key::type )); - MPL_ASSERT_RELATION( (order::type::value), ==, 3 ); - MPL_ASSERT_RELATION( (order::type::value), ==, 4 ); + MPL_ASSERT_NOT(( is_same< order::type, void_ > )); + MPL_ASSERT_NOT(( is_same< order::type, void_ > )); + MPL_ASSERT_NOT(( is_same< order::type, order::type > )); typedef begin::type first2; typedef end::type last2; - MPL_ASSERT(( is_same > )); + MPL_ASSERT(( is_same > )); typedef next::type iter; - MPL_ASSERT(( is_same > )); + MPL_ASSERT(( is_same > )); MPL_ASSERT(( is_same< next::type,last2 > )); -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - typedef insert >::type s2_1; + typedef insert >::type s2_1; MPL_ASSERT(( is_same )); - typedef insert >::type m3; + typedef insert >::type m3; MPL_ASSERT_RELATION( size::type::value, ==, 3 ); MPL_ASSERT(( has_key::type )); MPL_ASSERT(( has_key::type )); MPL_ASSERT(( has_key::type )); - MPL_ASSERT(( contains< m3,pair > )); - MPL_ASSERT(( contains< m3,pair > )); + MPL_ASSERT(( contains< m3,mpl::pair > )); + MPL_ASSERT(( contains< m3,mpl::pair > )); - typedef insert >::type m1; + typedef insert >::type m1; MPL_ASSERT_RELATION( size::type::value, ==, 2 ); MPL_ASSERT(( is_same< at::type,unsigned > )); MPL_ASSERT(( is_same< at::type,long > )); - MPL_ASSERT(( contains< m1,pair > )); - MPL_ASSERT_NOT(( contains< m1,pair > )); - MPL_ASSERT_NOT(( contains< m1,pair > )); - MPL_ASSERT(( contains< m1,pair > )); + MPL_ASSERT(( contains< m1,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m1,mpl::pair > )); + MPL_ASSERT_NOT(( contains< m1,mpl::pair > )); + MPL_ASSERT(( contains< m1,mpl::pair > )); MPL_ASSERT(( is_same< m1,m2 > )); @@ -128,7 +120,6 @@ MPL_TEST_CASE() MPL_ASSERT(( is_same< at::type,void_ > )); MPL_ASSERT(( is_same< at::type,unsigned > )); MPL_ASSERT(( is_same< at::type,unsigned > )); -#endif } MPL_TEST_CASE() @@ -159,13 +150,11 @@ MPL_TEST_CASE() MPL_ASSERT_NOT(( has_key::type )); MPL_ASSERT_NOT(( has_key::type )); -#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) - typedef insert >::type m1; + typedef insert >::type m1; MPL_ASSERT_RELATION( size::type::value, ==, 1 ); MPL_ASSERT(( is_same< at::type,int > )); typedef erase_key::type m0_1; MPL_ASSERT_RELATION( size::type::value, ==, 0 ); MPL_ASSERT(( is_same< at::type,void_ > )); -#endif } diff --git a/test/set.cpp b/test/set.cpp index d8c2c96..4d9df27 100644 --- a/test/set.cpp +++ b/test/set.cpp @@ -40,7 +40,7 @@ MPL_TEST_CASE() MPL_ASSERT_NOT(( has_key )); MPL_ASSERT(( has_key )); - MPL_ASSERT_RELATION( (order::value), ==, 2 ); + MPL_ASSERT_RELATION( (order::value), ==, 3 ); MPL_ASSERT(( is_same< order::type, void_ > )); typedef begin::type first; @@ -59,8 +59,8 @@ MPL_TEST_CASE() MPL_ASSERT(( has_key )); MPL_ASSERT_NOT(( has_key )); - MPL_ASSERT_RELATION( (order::value), ==, 2 ); - MPL_ASSERT_RELATION( (order::value), ==, 1 ); + MPL_ASSERT_RELATION( (order::value), ==, 3 ); + MPL_ASSERT_RELATION( (order::value), ==, 2 ); typedef begin::type first2; typedef end::type last2;