diff --git a/example/fsm/aux_/STT_impl_gen.hpp b/example/fsm/aux_/STT_impl_gen.hpp index f84fdca..731226b 100644 --- a/example/fsm/aux_/STT_impl_gen.hpp +++ b/example/fsm/aux_/STT_impl_gen.hpp @@ -29,7 +29,7 @@ namespace fsm { namespace aux { namespace mpl = boost::mpl; -using namespace mpl::placeholder; +using namespace mpl::placeholders; template< typename Transition > struct STT_void_row_impl diff --git a/example/inherit_linearly.cpp b/example/inherit_linearly.cpp index 8215a19..2c7ad07 100644 --- a/example/inherit_linearly.cpp +++ b/example/inherit_linearly.cpp @@ -15,13 +15,13 @@ // without express or implied warranty. #include "boost/mpl/inherit_linearly.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/list.hpp" #include namespace mpl = boost::mpl; -using namespace mpl::placeholder; +using namespace mpl::placeholders; template< typename Base, typename T > struct tuple_part @@ -36,7 +36,7 @@ struct tuple_part struct empty_tuple { - typedef mpl::int_c<-1> index; + typedef mpl::int_<-1> index; }; @@ -51,14 +51,14 @@ int main() { my_tuple t; - field(t, mpl::int_c<0>()) = -1; - field(t, mpl::int_c<1>()) = "text"; - field(t, mpl::int_c<2>()) = false; + field(t, mpl::int_<0>()) = -1; + field(t, mpl::int_<1>()) = "text"; + field(t, mpl::int_<2>()) = false; std::cout - << field(t, mpl::int_c<0>()) << '\n' - << field(t, mpl::int_c<1>()) << '\n' - << field(t, mpl::int_c<2>()) << '\n' + << field(t, mpl::int_<0>()) << '\n' + << field(t, mpl::int_<1>()) << '\n' + << field(t, mpl::int_<2>()) << '\n' ; return 0; diff --git a/example/inherit_multiply.cpp b/example/inherit_multiply.cpp index 553b8d8..af62662 100644 --- a/example/inherit_multiply.cpp +++ b/example/inherit_multiply.cpp @@ -21,7 +21,7 @@ #include namespace mpl = boost::mpl; -using namespace mpl::placeholder; +using namespace mpl::placeholders; template< typename T > struct tuple_field diff --git a/example/integer.cpp b/example/integer.cpp index 22845eb..acde2be 100644 --- a/example/integer.cpp +++ b/example/integer.cpp @@ -14,12 +14,12 @@ // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. -#include "boost/mpl/arithmetic/multiplies.hpp" +#include "boost/mpl/multiplies.hpp" #include "boost/mpl/list.hpp" #include "boost/mpl/lower_bound.hpp" #include "boost/mpl/transform_view.hpp" #include "boost/mpl/sizeof.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/identity.hpp" #include "boost/mpl/base.hpp" #include "boost/mpl/apply_if.hpp" @@ -28,7 +28,7 @@ #include "boost/mpl/assert_is_same.hpp" namespace mpl = boost::mpl; -using namespace mpl::placeholder; +using namespace mpl::placeholders; template< int bit_size > class big_int @@ -42,9 +42,9 @@ struct integer typedef mpl::list builtins_; typedef typename mpl::base< typename mpl::lower_bound< mpl::transform_view< builtins_ - , mpl::multiplies< mpl::sizeof_<_1>, mpl::int_c<8> > + , mpl::multiplies< mpl::sizeof_<_1>, mpl::int_<8> > > - , mpl::int_c + , mpl::int_ >::type >::type iter_; typedef typename mpl::end::type last_; diff --git a/example/lambda2.cpp b/example/lambda2.cpp index 0690ae0..c8c370a 100644 --- a/example/lambda2.cpp +++ b/example/lambda2.cpp @@ -16,11 +16,11 @@ #include "boost/mpl/v2_1.hpp" -#include "boost/mpl/logical/not.hpp" -#include "boost/mpl/logical/or.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/comparison/equal_to.hpp" -#include "boost/mpl/arithmetic/multiplies.hpp" +#include "boost/mpl/not.hpp" +#include "boost/mpl/or.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/equal_to.hpp" +#include "boost/mpl/multiplies.hpp" #include "boost/mpl/prior.hpp" #include "boost/mpl/find_if.hpp" #include "boost/mpl/count_if.hpp" @@ -30,7 +30,7 @@ #include "boost/static_assert.hpp" namespace mpl = boost::mpl; -using namespace mpl::placeholder; +using namespace mpl::placeholders; using namespace mpl::v2_1; diff --git a/include/boost/mpl/advance.hpp b/include/boost/mpl/advance.hpp index 7f6388f..a596724 100644 --- a/include/boost/mpl/advance.hpp +++ b/include/boost/mpl/advance.hpp @@ -17,8 +17,8 @@ #ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED #define BOOST_MPL_ADVANCE_HPP_INCLUDED -#include "boost/mpl/arithmetic/negate.hpp" -#include "boost/mpl/comparison/less.hpp" +#include "boost/mpl/negate.hpp" +#include "boost/mpl/less.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/if.hpp" #include "boost/mpl/iterator_tag.hpp" diff --git a/include/boost/mpl/and.hpp b/include/boost/mpl/and.hpp new file mode 100644 index 0000000..a2cced8 --- /dev/null +++ b/include/boost/mpl/and.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_AND_HPP_INCLUDED +#define BOOST_MPL_AND_HPP_INCLUDED + +// + file: boost/mpl/and.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/aux_/config/use_preprocessed.hpp" + +#if !defined(BOOST_MPL_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include "boost/mpl/bool.hpp" +# include "boost/mpl/aux_/nested_type_wknd.hpp" +# include "boost/mpl/aux_/void_spec.hpp" +# include "boost/mpl/aux_/lambda_support.hpp" + +# define BOOST_MPL_PREPROCESSED_HEADER and.hpp +# include "boost/mpl/aux_/include_preprocessed.hpp" + +#else + +# define AUX_LOGICAL_OP_NAME and_ +# define AUX_LOGICAL_OP_VALUE1 false +# define AUX_LOGICAL_OP_VALUE2 true +# include "boost/mpl/aux_/logical_op.hpp" + +#endif // BOOST_MPL_USE_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AND_HPP_INCLUDED diff --git a/include/boost/mpl/arithmetic.hpp b/include/boost/mpl/arithmetic.hpp index 3bc05ff..88a34ce 100644 --- a/include/boost/mpl/arithmetic.hpp +++ b/include/boost/mpl/arithmetic.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED +#define BOOST_MPL_ARITHMETIC_HPP_INCLUDED + +// + file: boost/mpl/arithmetic.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,15 +15,14 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_HPP_INCLUDED - -#include "boost/mpl/arithmetic/plus.hpp" -#include "boost/mpl/arithmetic/minus.hpp" -#include "boost/mpl/arithmetic/multiplies.hpp" -#include "boost/mpl/arithmetic/divides.hpp" -#include "boost/mpl/arithmetic/modulus.hpp" -#include "boost/mpl/arithmetic/negate.hpp" +#include "boost/mpl/plus.hpp" +#include "boost/mpl/minus.hpp" +#include "boost/mpl/multiplies.hpp" +#include "boost/mpl/divides.hpp" +#include "boost/mpl/modulus.hpp" +#include "boost/mpl/negate.hpp" #endif // BOOST_MPL_ARITHMETIC_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/bool_value_wknd.hpp b/include/boost/mpl/aux_/bool_value_wknd.hpp index aa49637..c07a65b 100644 --- a/include/boost/mpl/aux_/bool_value_wknd.hpp +++ b/include/boost/mpl/aux_/bool_value_wknd.hpp @@ -22,7 +22,7 @@ #if defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \ || defined(BOOST_MSVC) && BOOST_MSVC < 1300 -# include "boost/mpl/bool_c.hpp" +# include "boost/mpl/bool.hpp" namespace boost { namespace mpl { namespace aux { @@ -34,7 +34,7 @@ struct bool_value_wknd template<> struct bool_value_wknd - : false_c + : false_ { }; diff --git a/include/boost/mpl/aux_/config/nttp.hpp b/include/boost/mpl/aux_/config/nttp.hpp index 9b27c5b..9f35c2a 100644 --- a/include/boost/mpl/aux_/config/nttp.hpp +++ b/include/boost/mpl/aux_/config/nttp.hpp @@ -38,6 +38,8 @@ #if defined(BOOST_MSVC) && BOOST_MSVC < 1300 +#include "boost/preprocessor/cat.hpp" + #if !defined(BOOST_MPL_PREPROCESSING_MODE) namespace boost { namespace mpl { typedef int nttp_int; @@ -45,7 +47,7 @@ typedef long nttp_long; }} #endif -# define BOOST_MPL_AUX_NTTP_DECL(T, x) nttp_##T x /**/ +# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(nttp_,T) x /**/ #else # define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/ diff --git a/include/boost/mpl/aux_/full_lambda.hpp b/include/boost/mpl/aux_/full_lambda.hpp index 1697927..184efed 100644 --- a/include/boost/mpl/aux_/full_lambda.hpp +++ b/include/boost/mpl/aux_/full_lambda.hpp @@ -26,7 +26,7 @@ # include "boost/mpl/bind.hpp" # include "boost/mpl/protect.hpp" # include "boost/mpl/quote.hpp" -# include "boost/mpl/bool_c.hpp" +# include "boost/mpl/bool.hpp" # include "boost/mpl/aux_/template_arity.hpp" # include "boost/mpl/aux_/config/ttp.hpp" #endif @@ -85,7 +85,7 @@ template< > struct lambda_impl { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef T type; }; @@ -107,13 +107,13 @@ template< BOOST_MPL_PP_DEFAULT_PARAMS(n,bool C,false) > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< BOOST_MPL_PP_ENUM(n,false) > - : false_c + : false_ { }; @@ -123,7 +123,7 @@ struct lambda_or< BOOST_MPL_PP_ENUM(n,false) > template< int N, bool Protect > struct lambda_impl< arg, Protect AUX_ARITY_PARAM(-1) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(true_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(true_) typedef arg type; }; @@ -137,7 +137,7 @@ struct lambda_impl< arg, Protect AUX_ARITY_PARAM(-1) > template< typename T, bool Protect > struct lambda_impl< protect, Protect AUX_ARITY_PARAM(1) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef protect type; }; @@ -151,7 +151,7 @@ struct lambda_impl< , Protect AUX_ARITY_PARAM(BOOST_PP_INC(BOOST_MPL_METAFUNCTION_MAX_ARITY)) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef bind type; }; @@ -161,7 +161,7 @@ template< > struct lambda_impl< bind1st, Protect AUX_ARITY_PARAM(2) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef bind1st type; }; @@ -171,7 +171,7 @@ template< > struct lambda_impl< bind2nd, Protect AUX_ARITY_PARAM(2) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef bind2nd type; }; @@ -318,7 +318,7 @@ struct lambda_impl< , Protect AUX_ARITY_PARAM(BOOST_PP_INC(i)) > { - BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_c) + BOOST_MPL_AUX_IS_LAMBDA_EXPR(false_) typedef BOOST_PP_CAT(bind,i)< F AUX_LAMBDA_BIND_N_PARAMS(i, T) diff --git a/include/boost/mpl/aux_/has_rebind.hpp b/include/boost/mpl/aux_/has_rebind.hpp index 5dadb95..beaa46c 100644 --- a/include/boost/mpl/aux_/has_rebind.hpp +++ b/include/boost/mpl/aux_/has_rebind.hpp @@ -19,7 +19,7 @@ #include "boost/mpl/aux_/has_xxx.hpp" #include "boost/mpl/if.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/type_traits/is_class.hpp" namespace boost { namespace mpl { namespace aux { @@ -31,7 +31,7 @@ struct has_rebind : if_c< ::boost::is_class::value , has_rebind_impl - , bool_c + , bool_ >::type { }; diff --git a/include/boost/mpl/aux_/has_xxx.hpp b/include/boost/mpl/aux_/has_xxx.hpp index 11c2191..631ce22 100644 --- a/include/boost/mpl/aux_/has_xxx.hpp +++ b/include/boost/mpl/aux_/has_xxx.hpp @@ -55,7 +55,7 @@ struct trait \ # else #include "boost/mpl/if.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/preprocessor/cat.hpp" // agurt, 11/sep/02: MSVC version, based on a USENET newsgroup's posting by @@ -104,7 +104,7 @@ struct BOOST_PP_CAT(trait,_impl) : T \ template< typename T > struct trait \ : boost::mpl::if_c< \ boost::mpl::aux::msvc_is_incomplete::value \ - , boost::mpl::bool_c \ + , boost::mpl::bool_ \ , BOOST_PP_CAT(trait,_impl) \ >::type \ { \ diff --git a/include/boost/mpl/aux_/integral_wrapper.hpp b/include/boost/mpl/aux_/integral_wrapper.hpp new file mode 100644 index 0000000..03a5f2e --- /dev/null +++ b/include/boost/mpl/aux_/integral_wrapper.hpp @@ -0,0 +1,74 @@ + +// + file: boost/mpl/aux_/intergal_wrapper.hpp +// + last modified: 27/jan/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +// no include guards, the header is intended for multiple inclusion! + +#include "boost/mpl/aux_/ice_cast.hpp" +#include "boost/mpl/aux_/config/nttp.hpp" +#include "boost/mpl/aux_/config/static_constant.hpp" +#include "boost/mpl/aux_/config/workaround.hpp" + +#include "boost/preprocessor/cat.hpp" + +#if !defined(AUX_WRAPPER_NAME) +# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) +# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) +# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > +#endif + +namespace boost { namespace mpl { + +template< AUX_WRAPPER_PARAMS(N) > +struct AUX_WRAPPER_NAME +{ + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); + typedef AUX_WRAPPER_NAME type; + typedef AUX_WRAPPER_VALUE_TYPE value_type; + + // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), + // while some other don't like 'value + 1' (Borland), and some don't like + // either +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) + private: + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1))); + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1))); + public: + typedef AUX_WRAPPER_INST(next_value) next; + typedef AUX_WRAPPER_INST(prior_value) prior; +#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; +#else + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_ICE_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; +#endif + + // enables uniform function call syntax for families of overloaded + // functions that return objects of both arithmetic ('int', 'long', + // 'double', etc.) and wrapped integral types (for an example, see + // "mpl/example/power.cpp") + operator AUX_WRAPPER_VALUE_TYPE() const { return this->value; } +}; + +}} // namespace boost::mpl + +#undef AUX_WRAPPER_NAME +#undef AUX_WRAPPER_PARAMS +#undef AUX_WRAPPER_INST +#undef AUX_WRAPPER_VALUE_TYPE diff --git a/include/boost/mpl/aux_/lambda_no_ctps.hpp b/include/boost/mpl/aux_/lambda_no_ctps.hpp index 419d6d8..89557e1 100644 --- a/include/boost/mpl/aux_/lambda_no_ctps.hpp +++ b/include/boost/mpl/aux_/lambda_no_ctps.hpp @@ -25,7 +25,7 @@ # include "boost/mpl/lambda_fwd.hpp" # include "boost/mpl/bind.hpp" # include "boost/mpl/protect.hpp" -# include "boost/mpl/bool_c.hpp" +# include "boost/mpl/bool.hpp" # include "boost/mpl/aux_/template_arity.hpp" #endif @@ -81,7 +81,7 @@ struct lambda #if !defined(BOOST_MSVC) || BOOST_MSVC > 1200 , Protect #else - , bool_c::value + , bool_::value #endif >::template result_ { diff --git a/include/boost/mpl/aux_/logical_op.hpp b/include/boost/mpl/aux_/logical_op.hpp new file mode 100644 index 0000000..f31766a --- /dev/null +++ b/include/boost/mpl/aux_/logical_op.hpp @@ -0,0 +1,169 @@ + +// + file: boost/mpl/aux_/logical_op.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +// no include guards, the header is intended for multiple inclusion! + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include "boost/mpl/bool.hpp" +# include "boost/mpl/aux_/nested_type_wknd.hpp" +# include "boost/mpl/aux_/void_spec.hpp" +# include "boost/mpl/aux_/lambda_support.hpp" +#endif + +#include "boost/mpl/limits/arity.hpp" +#include "boost/mpl/aux_/preprocessor/params.hpp" +#include "boost/mpl/aux_/preprocessor/ext_params.hpp" +#include "boost/mpl/aux_/preprocessor/def_params_tail.hpp" +#include "boost/mpl/aux_/preprocessor/enum.hpp" +#include "boost/mpl/aux_/preprocessor/sub.hpp" +#include "boost/mpl/aux_/config/workaround.hpp" + +#include "boost/preprocessor/dec.hpp" +#include "boost/preprocessor/inc.hpp" +#include "boost/preprocessor/cat.hpp" + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header +# define AUX_LOGICAL_OP_PARAMS(param, sub) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_PP_SUB(BOOST_MPL_METAFUNCTION_MAX_ARITY, sub) \ + , param \ + ) \ + /**/ + +# define AUX_LOGICAL_OP_SHIFTED_PARAMS(param, sub) \ + BOOST_MPL_PP_EXT_PARAMS( \ + 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_METAFUNCTION_MAX_ARITY), sub) \ + , param \ + ) \ + /**/ + +# define AUX_LOGICAL_OP_SPEC_PARAMS(param) \ + BOOST_MPL_PP_ENUM( \ + BOOST_PP_DEC(BOOST_MPL_METAFUNCTION_MAX_ARITY) \ + , param \ + ) \ + /**/ + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< bool C_, AUX_LOGICAL_OP_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl) + : BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE1,_) +{ +}; + +template< AUX_LOGICAL_OP_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< AUX_LOGICAL_OP_VALUE2,AUX_LOGICAL_OP_PARAMS(T, 1) > + : BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX_LOGICAL_OP_SHIFTED_PARAMS(T, 1) + , BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_) + > +{ +}; + +template<> +struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< + AUX_LOGICAL_OP_VALUE2 + , AUX_LOGICAL_OP_SPEC_PARAMS(BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_)) + > + : BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_) +{ +}; + +#else + +template< bool C_ > struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl) +{ + template< AUX_LOGICAL_OP_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE1,_) + { + }; +}; + +template<> struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl) +{ + template< AUX_LOGICAL_OP_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX_LOGICAL_OP_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_) > + { + }; + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + template<> struct result_ + : BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_) + { + }; +}; +#else +}; + +template<> +struct BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl) + ::result_< AUX_LOGICAL_OP_SPEC_PARAMS(BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_)) > + : BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_) +{ +}; +#endif // BOOST_MSVC == 1300 + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX_LOGICAL_OP_VALUE2,_)) + > +struct AUX_LOGICAL_OP_NAME +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + : aux::BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX_LOGICAL_OP_SHIFTED_PARAMS(T,0) + > +#else + : aux::BOOST_PP_CAT(AUX_LOGICAL_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX_LOGICAL_OP_SHIFTED_PARAMS(T,0) > +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + BOOST_MPL_METAFUNCTION_MAX_ARITY + , AUX_LOGICAL_OP_NAME + , (AUX_LOGICAL_OP_PARAMS(T, 0)) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , BOOST_MPL_METAFUNCTION_MAX_ARITY + , AUX_LOGICAL_OP_NAME + ) + +}} // namespace boost::mpl + +#undef AUX_LOGICAL_OP_SPEC_PARAMS +#undef AUX_LOGICAL_OP_SHIFTED_PARAMS +#undef AUX_LOGICAL_OP_PARAMS +#undef AUX_LOGICAL_OP_NAME +#undef AUX_LOGICAL_OP_VALUE1 +#undef AUX_LOGICAL_OP_VALUE2 diff --git a/include/boost/mpl/aux_/preprocessed/bcc/and.hpp b/include/boost/mpl/aux_/preprocessed/bcc/and.hpp new file mode 100644 index 0000000..9f6982a --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/bcc/and.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp index 0807980..e776afd 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect,-1 > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect, 1 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect, 2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect, 3 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect, 4 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect, 5 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect,1 > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/bcc/or.hpp b/include/boost/mpl/aux_/preprocessed/bcc/or.hpp new file mode 100644 index 0000000..517fbdf --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/bcc/or.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp similarity index 67% rename from include/boost/mpl/aux_/preprocessed/msvc60/placeholder.hpp rename to include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp index 8f41c8d..8c17ad3 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/placeholder.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp @@ -1,4 +1,4 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header // see the original for copyright information namespace boost { @@ -6,7 +6,7 @@ namespace mpl { typedef arg< -1 > _; -namespace placeholder { +namespace placeholders { using boost::mpl::_; } @@ -15,37 +15,37 @@ using boost::mpl::_; typedef arg<1> _1; -namespace placeholder { +namespace placeholders { using boost::mpl::_1; } typedef arg<2> _2; -namespace placeholder { +namespace placeholders { using boost::mpl::_2; } typedef arg<3> _3; -namespace placeholder { +namespace placeholders { using boost::mpl::_3; } typedef arg<4> _4; -namespace placeholder { +namespace placeholders { using boost::mpl::_4; } typedef arg<5> _5; -namespace placeholder { +namespace placeholders { using boost::mpl::_5; } typedef arg<6> _6; -namespace placeholder { +namespace placeholders { using boost::mpl::_6; } diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp new file mode 100644 index 0000000..9f6982a --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp index 0807980..e776afd 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect,-1 > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect, 1 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect, 2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect, 3 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect, 4 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect, 5 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect,1 > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp new file mode 100644 index 0000000..517fbdf --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/bcc/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp similarity index 67% rename from include/boost/mpl/aux_/preprocessed/bcc/placeholder.hpp rename to include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp index 8f41c8d..8c17ad3 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc/placeholder.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp @@ -1,4 +1,4 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header // see the original for copyright information namespace boost { @@ -6,7 +6,7 @@ namespace mpl { typedef arg< -1 > _; -namespace placeholder { +namespace placeholders { using boost::mpl::_; } @@ -15,37 +15,37 @@ using boost::mpl::_; typedef arg<1> _1; -namespace placeholder { +namespace placeholders { using boost::mpl::_1; } typedef arg<2> _2; -namespace placeholder { +namespace placeholders { using boost::mpl::_2; } typedef arg<3> _3; -namespace placeholder { +namespace placeholders { using boost::mpl::_3; } typedef arg<4> _4; -namespace placeholder { +namespace placeholders { using boost::mpl::_4; } typedef arg<5> _5; -namespace placeholder { +namespace placeholders { using boost::mpl::_5; } typedef arg<6> _6; -namespace placeholder { +namespace placeholders { using boost::mpl::_6; } diff --git a/include/boost/mpl/aux_/preprocessed/gcc/and.hpp b/include/boost/mpl/aux_/preprocessed/gcc/and.hpp new file mode 100644 index 0000000..9f6982a --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/gcc/and.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp index 0807980..e776afd 100644 --- a/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect,-1 > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect, 1 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect, 2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect, 3 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect, 4 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect, 5 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect,1 > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect, 6 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect,2 > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/gcc/or.hpp b/include/boost/mpl/aux_/preprocessed/gcc/or.hpp new file mode 100644 index 0000000..517fbdf --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/gcc/or.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp similarity index 67% rename from include/boost/mpl/aux_/preprocessed/bcc551/placeholder.hpp rename to include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp index 8f41c8d..8c17ad3 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc551/placeholder.hpp +++ b/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp @@ -1,4 +1,4 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header // see the original for copyright information namespace boost { @@ -6,7 +6,7 @@ namespace mpl { typedef arg< -1 > _; -namespace placeholder { +namespace placeholders { using boost::mpl::_; } @@ -15,37 +15,37 @@ using boost::mpl::_; typedef arg<1> _1; -namespace placeholder { +namespace placeholders { using boost::mpl::_1; } typedef arg<2> _2; -namespace placeholder { +namespace placeholders { using boost::mpl::_2; } typedef arg<3> _3; -namespace placeholder { +namespace placeholders { using boost::mpl::_3; } typedef arg<4> _4; -namespace placeholder { +namespace placeholders { using boost::mpl::_4; } typedef arg<5> _5; -namespace placeholder { +namespace placeholders { using boost::mpl::_5; } typedef arg<6> _6; -namespace placeholder { +namespace placeholders { using boost::mpl::_6; } diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp new file mode 100644 index 0000000..3a041a9 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp @@ -0,0 +1,68 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; + +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp index 3a250f9..89c4843 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp index b31e3ec..85cd2e3 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp @@ -149,7 +149,7 @@ struct lambda : aux::lambda_impl< ::boost::mpl::aux::template_arity::value - , bool_c::value + , bool_::value >::template result_ { diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp new file mode 100644 index 0000000..b59b95f --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp @@ -0,0 +1,68 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; + +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/gcc/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp similarity index 67% rename from include/boost/mpl/aux_/preprocessed/gcc/placeholder.hpp rename to include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp index 8f41c8d..8c17ad3 100644 --- a/include/boost/mpl/aux_/preprocessed/gcc/placeholder.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp @@ -1,4 +1,4 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header // see the original for copyright information namespace boost { @@ -6,7 +6,7 @@ namespace mpl { typedef arg< -1 > _; -namespace placeholder { +namespace placeholders { using boost::mpl::_; } @@ -15,37 +15,37 @@ using boost::mpl::_; typedef arg<1> _1; -namespace placeholder { +namespace placeholders { using boost::mpl::_1; } typedef arg<2> _2; -namespace placeholder { +namespace placeholders { using boost::mpl::_2; } typedef arg<3> _3; -namespace placeholder { +namespace placeholders { using boost::mpl::_3; } typedef arg<4> _4; -namespace placeholder { +namespace placeholders { using boost::mpl::_4; } typedef arg<5> _5; -namespace placeholder { +namespace placeholders { using boost::mpl::_5; } typedef arg<6> _6; -namespace placeholder { +namespace placeholders { using boost::mpl::_6; } diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp new file mode 100644 index 0000000..54abda1 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp @@ -0,0 +1,65 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; + + template<> struct result_ + : true_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp index 3a250f9..89c4843 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp new file mode 100644 index 0000000..cef689e --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp @@ -0,0 +1,65 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; + + template<> struct result_ + : false_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/placeholder.hpp deleted file mode 100644 index 8f41c8d..0000000 --- a/include/boost/mpl/aux_/preprocessed/msvc70/placeholder.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header -// see the original for copyright information - -namespace boost { -namespace mpl { - -typedef arg< -1 > _; - -namespace placeholder { -using boost::mpl::_; -} - -// agurt, 17/mar/02: one more placeholder for the last 'apply#' -// specialization - -typedef arg<1> _1; - -namespace placeholder { -using boost::mpl::_1; -} - -typedef arg<2> _2; - -namespace placeholder { -using boost::mpl::_2; -} - -typedef arg<3> _3; - -namespace placeholder { -using boost::mpl::_3; -} - -typedef arg<4> _4; - -namespace placeholder { -using boost::mpl::_4; -} - -typedef arg<5> _5; - -namespace placeholder { -using boost::mpl::_5; -} - -typedef arg<6> _6; - -namespace placeholder { -using boost::mpl::_6; -} - -} // namespace mpl -} // namespace boost - diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp new file mode 100644 index 0000000..8c17ad3 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp @@ -0,0 +1,54 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { +namespace mpl { + +typedef arg< -1 > _; + +namespace placeholders { +using boost::mpl::_; +} + +// agurt, 17/mar/02: one more placeholder for the last 'apply#' +// specialization + +typedef arg<1> _1; + +namespace placeholders { +using boost::mpl::_1; +} + +typedef arg<2> _2; + +namespace placeholders { +using boost::mpl::_2; +} + +typedef arg<3> _3; + +namespace placeholders { +using boost::mpl::_3; +} + +typedef arg<4> _4; + +namespace placeholders { +using boost::mpl::_4; +} + +typedef arg<5> _5; + +namespace placeholders { +using boost::mpl::_5; +} + +typedef arg<6> _6; + +namespace placeholders { +using boost::mpl::_6; +} + +} // namespace mpl +} // namespace boost + diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp new file mode 100644 index 0000000..9f6982a --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp index 3a250f9..89c4843 100644 --- a/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp new file mode 100644 index 0000000..517fbdf --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/placeholder.hpp deleted file mode 100644 index 8f41c8d..0000000 --- a/include/boost/mpl/aux_/preprocessed/mwcw/placeholder.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header -// see the original for copyright information - -namespace boost { -namespace mpl { - -typedef arg< -1 > _; - -namespace placeholder { -using boost::mpl::_; -} - -// agurt, 17/mar/02: one more placeholder for the last 'apply#' -// specialization - -typedef arg<1> _1; - -namespace placeholder { -using boost::mpl::_1; -} - -typedef arg<2> _2; - -namespace placeholder { -using boost::mpl::_2; -} - -typedef arg<3> _3; - -namespace placeholder { -using boost::mpl::_3; -} - -typedef arg<4> _4; - -namespace placeholder { -using boost::mpl::_4; -} - -typedef arg<5> _5; - -namespace placeholder { -using boost::mpl::_5; -} - -typedef arg<6> _6; - -namespace placeholder { -using boost::mpl::_6; -} - -} // namespace mpl -} // namespace boost - diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp new file mode 100644 index 0000000..8c17ad3 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp @@ -0,0 +1,54 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { +namespace mpl { + +typedef arg< -1 > _; + +namespace placeholders { +using boost::mpl::_; +} + +// agurt, 17/mar/02: one more placeholder for the last 'apply#' +// specialization + +typedef arg<1> _1; + +namespace placeholders { +using boost::mpl::_1; +} + +typedef arg<2> _2; + +namespace placeholders { +using boost::mpl::_2; +} + +typedef arg<3> _3; + +namespace placeholders { +using boost::mpl::_3; +} + +typedef arg<4> _4; + +namespace placeholders { +using boost::mpl::_4; +} + +typedef arg<5> _5; + +namespace placeholders { +using boost::mpl::_5; +} + +typedef arg<6> _6; + +namespace placeholders { +using boost::mpl::_6; +} + +} // namespace mpl +} // namespace boost + diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp new file mode 100644 index 0000000..3a041a9 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp @@ -0,0 +1,68 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; + +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp index 3a250f9..89c4843 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp new file mode 100644 index 0000000..b59b95f --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp @@ -0,0 +1,68 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; + +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/placeholder.hpp deleted file mode 100644 index 8f41c8d..0000000 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/placeholder.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header -// see the original for copyright information - -namespace boost { -namespace mpl { - -typedef arg< -1 > _; - -namespace placeholder { -using boost::mpl::_; -} - -// agurt, 17/mar/02: one more placeholder for the last 'apply#' -// specialization - -typedef arg<1> _1; - -namespace placeholder { -using boost::mpl::_1; -} - -typedef arg<2> _2; - -namespace placeholder { -using boost::mpl::_2; -} - -typedef arg<3> _3; - -namespace placeholder { -using boost::mpl::_3; -} - -typedef arg<4> _4; - -namespace placeholder { -using boost::mpl::_4; -} - -typedef arg<5> _5; - -namespace placeholder { -using boost::mpl::_5; -} - -typedef arg<6> _6; - -namespace placeholder { -using boost::mpl::_6; -} - -} // namespace mpl -} // namespace boost - diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp new file mode 100644 index 0000000..8c17ad3 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp @@ -0,0 +1,54 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { +namespace mpl { + +typedef arg< -1 > _; + +namespace placeholders { +using boost::mpl::_; +} + +// agurt, 17/mar/02: one more placeholder for the last 'apply#' +// specialization + +typedef arg<1> _1; + +namespace placeholders { +using boost::mpl::_1; +} + +typedef arg<2> _2; + +namespace placeholders { +using boost::mpl::_2; +} + +typedef arg<3> _3; + +namespace placeholders { +using boost::mpl::_3; +} + +typedef arg<4> _4; + +namespace placeholders { +using boost::mpl::_4; +} + +typedef arg<5> _5; + +namespace placeholders { +using boost::mpl::_5; +} + +typedef arg<6> _6; + +namespace placeholders { +using boost::mpl::_6; +} + +} // namespace mpl +} // namespace boost + diff --git a/include/boost/mpl/aux_/preprocessed/plain/and.hpp b/include/boost/mpl/aux_/preprocessed/plain/and.hpp new file mode 100644 index 0000000..9f6982a --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/plain/and.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , and_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp index 3a250f9..89c4843 100644 --- a/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +++ b/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp @@ -11,7 +11,7 @@ template< > struct lambda_impl { - typedef false_c is_le; + typedef false_ is_le; typedef T type; }; @@ -31,13 +31,13 @@ template< , bool C5 = false > struct lambda_or - : true_c + : true_ { }; template<> struct lambda_or< false,false,false,false,false > - : false_c + : false_ { }; @@ -46,7 +46,7 @@ struct lambda_or< false,false,false,false,false > template< int N, bool Protect > struct lambda_impl< arg,Protect > { - typedef true_c is_le; + typedef true_ is_le; typedef arg type; }; @@ -59,7 +59,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind0< F > type; @@ -144,7 +144,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1< F , T1 @@ -232,7 +232,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2< F , T1, T2 @@ -321,7 +321,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind3< F , T1, T2, T3 @@ -415,7 +415,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 @@ -527,7 +527,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 @@ -538,7 +538,7 @@ struct lambda_impl< template< typename T, bool Protect > struct lambda_impl< protect,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef protect type; }; @@ -553,7 +553,7 @@ struct lambda_impl< , Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > type; }; @@ -563,7 +563,7 @@ template< > struct lambda_impl< bind1st,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind1st< F,T > type; }; @@ -573,7 +573,7 @@ template< > struct lambda_impl< bind2nd,Protect > { - typedef false_c is_le; + typedef false_ is_le; typedef bind2nd< F,T > type; }; diff --git a/include/boost/mpl/aux_/preprocessed/plain/or.hpp b/include/boost/mpl/aux_/preprocessed/plain/or.hpp new file mode 100644 index 0000000..517fbdf --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/plain/or.hpp @@ -0,0 +1,62 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , (T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT( + 2 + , 5 + , or_ + ) + +}} // namespace boost::mpl + diff --git a/include/boost/mpl/aux_/preprocessed/plain/placeholder.hpp b/include/boost/mpl/aux_/preprocessed/plain/placeholder.hpp deleted file mode 100644 index 8f41c8d..0000000 --- a/include/boost/mpl/aux_/preprocessed/plain/placeholder.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// preprocessed version of 'boost/mpl/placeholder.hpp' header -// see the original for copyright information - -namespace boost { -namespace mpl { - -typedef arg< -1 > _; - -namespace placeholder { -using boost::mpl::_; -} - -// agurt, 17/mar/02: one more placeholder for the last 'apply#' -// specialization - -typedef arg<1> _1; - -namespace placeholder { -using boost::mpl::_1; -} - -typedef arg<2> _2; - -namespace placeholder { -using boost::mpl::_2; -} - -typedef arg<3> _3; - -namespace placeholder { -using boost::mpl::_3; -} - -typedef arg<4> _4; - -namespace placeholder { -using boost::mpl::_4; -} - -typedef arg<5> _5; - -namespace placeholder { -using boost::mpl::_5; -} - -typedef arg<6> _6; - -namespace placeholder { -using boost::mpl::_6; -} - -} // namespace mpl -} // namespace boost - diff --git a/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp new file mode 100644 index 0000000..8c17ad3 --- /dev/null +++ b/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -0,0 +1,54 @@ +// preprocessed version of 'boost/mpl/aux_/config/use_preprocessed.hpp' header +// see the original for copyright information + +namespace boost { +namespace mpl { + +typedef arg< -1 > _; + +namespace placeholders { +using boost::mpl::_; +} + +// agurt, 17/mar/02: one more placeholder for the last 'apply#' +// specialization + +typedef arg<1> _1; + +namespace placeholders { +using boost::mpl::_1; +} + +typedef arg<2> _2; + +namespace placeholders { +using boost::mpl::_2; +} + +typedef arg<3> _3; + +namespace placeholders { +using boost::mpl::_3; +} + +typedef arg<4> _4; + +namespace placeholders { +using boost::mpl::_4; +} + +typedef arg<5> _5; + +namespace placeholders { +using boost::mpl::_5; +} + +typedef arg<6> _6; + +namespace placeholders { +using boost::mpl::_6; +} + +} // namespace mpl +} // namespace boost + diff --git a/include/boost/mpl/aux_/range_c/empty.hpp b/include/boost/mpl/aux_/range_c/empty.hpp index 5bddd7b..a5aaeaa 100644 --- a/include/boost/mpl/aux_/range_c/empty.hpp +++ b/include/boost/mpl/aux_/range_c/empty.hpp @@ -18,7 +18,7 @@ #define BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED #include "boost/mpl/empty_fwd.hpp" -#include "boost/mpl/comparison/equal_to.hpp" +#include "boost/mpl/equal_to.hpp" #include "boost/mpl/aux_/range_c/tag.hpp" namespace boost { diff --git a/include/boost/mpl/aux_/range_c/iterator.hpp b/include/boost/mpl/aux_/range_c/iterator.hpp index ce4128f..b9a1fd0 100644 --- a/include/boost/mpl/aux_/range_c/iterator.hpp +++ b/include/boost/mpl/aux_/range_c/iterator.hpp @@ -18,8 +18,8 @@ #define BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED #include "boost/mpl/iterator_tag.hpp" -#include "boost/mpl/arithmetic/plus.hpp" -#include "boost/mpl/arithmetic/minus.hpp" +#include "boost/mpl/plus.hpp" +#include "boost/mpl/minus.hpp" #include "boost/mpl/aux_/iterator_names.hpp" namespace boost { diff --git a/include/boost/mpl/aux_/range_c/size.hpp b/include/boost/mpl/aux_/range_c/size.hpp index 515afb9..74f201d 100644 --- a/include/boost/mpl/aux_/range_c/size.hpp +++ b/include/boost/mpl/aux_/range_c/size.hpp @@ -18,7 +18,7 @@ #define BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED #include "boost/mpl/size_fwd.hpp" -#include "boost/mpl/arithmetic/minus.hpp" +#include "boost/mpl/minus.hpp" #include "boost/mpl/aux_/range_c/tag.hpp" namespace boost { diff --git a/include/boost/mpl/aux_/single_element_iter.hpp b/include/boost/mpl/aux_/single_element_iter.hpp index 44a2277..1b91e2c 100644 --- a/include/boost/mpl/aux_/single_element_iter.hpp +++ b/include/boost/mpl/aux_/single_element_iter.hpp @@ -18,9 +18,9 @@ #define BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED #include "boost/mpl/iterator_tag.hpp" -#include "boost/mpl/arithmetic/plus.hpp" -#include "boost/mpl/arithmetic/minus.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/plus.hpp" +#include "boost/mpl/minus.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/iterator_names.hpp" #include "boost/mpl/aux_/lambda_spec.hpp" @@ -39,12 +39,12 @@ template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, N) > struct single_iter_base { typedef ra_iter_tag_ category; - typedef int_c position; + typedef int_ position; template< typename D > struct BOOST_MPL_AUX_ITERATOR_ADVANCE { - typedef plus< int_c,D > n_; + typedef plus< int_,D > n_; typedef single_element_iter< T , BOOST_MPL_AUX_VALUE_WKND(n_)::value @@ -56,7 +56,7 @@ struct single_iter_base { typedef typename minus< typename U::position - , int_c + , int_ >::type type; }; }; diff --git a/include/boost/mpl/aux_/value_wknd.hpp b/include/boost/mpl/aux_/value_wknd.hpp index 6374fe9..f0676d9 100644 --- a/include/boost/mpl/aux_/value_wknd.hpp +++ b/include/boost/mpl/aux_/value_wknd.hpp @@ -22,7 +22,7 @@ #if defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \ || defined(BOOST_MPL_MSVC_60_ETI_BUG) -# include "boost/mpl/int_c.hpp" +# include "boost/mpl/int.hpp" namespace boost { namespace mpl { namespace aux { @@ -35,7 +35,7 @@ struct value_wknd #if defined(BOOST_MPL_MSVC_60_ETI_BUG) template<> struct value_wknd - : int_c<0> + : int_<0> { }; #endif diff --git a/include/boost/mpl/bind.hpp b/include/boost/mpl/bind.hpp index f11146e..2bd780a 100644 --- a/include/boost/mpl/bind.hpp +++ b/include/boost/mpl/bind.hpp @@ -28,7 +28,7 @@ #include "boost/mpl/aux_/config/static_constant.hpp" #if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include "boost/mpl/placeholder.hpp" +# include "boost/mpl/placeholders.hpp" # include "boost/mpl/void.hpp" # include "boost/mpl/protect.hpp" # include "boost/mpl/limits/arity.hpp" diff --git a/include/boost/mpl/bitand.hpp b/include/boost/mpl/bitand.hpp new file mode 100644 index 0000000..19bd38c --- /dev/null +++ b/include/boost/mpl/bitand.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_BITAND_HPP_INCLUDED +#define BOOST_MPL_BITAND_HPP_INCLUDED + +// + file: boost/mpl/bitand.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy, Jaap Suter +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/integral_c.hpp" +#include "boost/mpl/aux_/typeof.hpp" +#include "boost/mpl/aux_/value_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" +#include "boost/config.hpp" + +namespace boost { +namespace mpl { + +template< + typename T, T N1, T N2, T N3 = 0xFFFFFFFF, T N4 = 0xFFFFFFFF, T N5 = 0xFFFFFFFF + > +struct bitand_c +{ + BOOST_STATIC_CONSTANT(T, value = (N1 & N2 & N3 & N4 & N5)); +#if !defined(__BORLANDC__) + typedef integral_c type; +#else + typedef integral_c type; +#endif +}; + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = integral_c + , typename T4 = integral_c + , typename T5 = integral_c + > +struct bitand_ + : bitand_c< + BOOST_MPL_AUX_TYPEOF(T1, + T1::value & T2::value & T3::value & T4::value & T5::value + ) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitand_, (T1,T2,T3,T4,T5)) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitand_) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_BITAND_HPP_INCLUDED diff --git a/include/boost/mpl/bitor.hpp b/include/boost/mpl/bitor.hpp new file mode 100644 index 0000000..3ba848b --- /dev/null +++ b/include/boost/mpl/bitor.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_BITOR_HPP_INCLUDED +#define BOOST_MPL_BITOR_HPP_INCLUDED + +// + file: boost/mpl/bitor.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy, Jaap Suter +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/integral_c.hpp" +#include "boost/mpl/aux_/typeof.hpp" +#include "boost/mpl/aux_/value_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" +#include "boost/config.hpp" + +namespace boost { +namespace mpl { + +template< + typename T, T N1, T N2, T N3 = 0, T N4 = 0, T N5 = 0 + > +struct bitor_c +{ + BOOST_STATIC_CONSTANT(T, value = (N1 | N2 | N3 | N4 | N5)); +#if !defined(__BORLANDC__) + typedef integral_c type; +#else + typedef integral_c type; +#endif +}; + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = integral_c + , typename T4 = integral_c + , typename T5 = integral_c + > +struct bitor_ + : bitor_c< + BOOST_MPL_AUX_TYPEOF(T1, + T1::value | T2::value | T3::value | T4::value | T5::value + ) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitor_, (T1,T2,T3,T4,T5)) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitor_) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_BITOR_HPP_INCLUDED diff --git a/include/boost/mpl/bitxor.hpp b/include/boost/mpl/bitxor.hpp new file mode 100644 index 0000000..9faf868 --- /dev/null +++ b/include/boost/mpl/bitxor.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED +#define BOOST_MPL_BITXOR_HPP_INCLUDED + +// + file: boost/mpl/bitxor.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy, Jaap Suter +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/integral_c.hpp" +#include "boost/mpl/aux_/typeof.hpp" +#include "boost/mpl/aux_/value_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" +#include "boost/config.hpp" + +namespace boost { +namespace mpl { + +template< + typename T, T N1, T N2, T N3 = 0, T N4 = 0, T N5 = 0 + > +struct bitxor_c +{ + BOOST_STATIC_CONSTANT(T, value = (N1 ^ N2 ^ N3 ^ N4 ^ N5)); +#if !defined(__BORLANDC__) + typedef integral_c type; +#else + typedef integral_c type; +#endif +}; + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) + , typename T3 = integral_c + , typename T4 = integral_c + , typename T5 = integral_c + > +struct bitxor_ + : bitxor_c< + BOOST_MPL_AUX_TYPEOF(T1, + T1::value ^ T2::value ^ T3::value ^ T4::value ^ T5::value + ) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitxor_, (T1,T2,T3,T4,T5)) +}; + +BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitxor_) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_BITXOR_HPP_INCLUDED diff --git a/include/boost/mpl/bool.hpp b/include/boost/mpl/bool.hpp new file mode 100644 index 0000000..04854ea --- /dev/null +++ b/include/boost/mpl/bool.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_BOOL_HPP_INCLUDED +#define BOOST_MPL_BOOL_HPP_INCLUDED + +// + file: boost/mpl/bool.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/aux_/config/static_constant.hpp" + +namespace boost { namespace mpl { + +template< bool C_ > struct bool_ +{ + BOOST_STATIC_CONSTANT(bool, value = C_); + typedef bool_ type; + typedef bool value_type; + operator bool() const { return this->value; } +}; + +// shorcuts +typedef bool_ true_; +typedef bool_ false_; + +}} // namespace boost::mpl + +#endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/include/boost/mpl/comparison.hpp b/include/boost/mpl/comparison.hpp index dbe5056..097b402 100644 --- a/include/boost/mpl/comparison.hpp +++ b/include/boost/mpl/comparison.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED +#define BOOST_MPL_COMPARISON_HPP_INCLUDED + +// + file: boost/mpl/comparison.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,15 +15,14 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_HPP_INCLUDED - -#include "boost/mpl/comparison/equal_to.hpp" -#include "boost/mpl/comparison/not_equal_to.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/comparison/greater.hpp" -#include "boost/mpl/comparison/less_equal.hpp" -#include "boost/mpl/comparison/greater_equal.hpp" +#include "boost/mpl/equal_to.hpp" +#include "boost/mpl/not_equal_to.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/greater.hpp" +#include "boost/mpl/less_equal.hpp" +#include "boost/mpl/greater_equal.hpp" #endif // BOOST_MPL_COMPARISON_HPP_INCLUDED diff --git a/include/boost/mpl/contains.hpp b/include/boost/mpl/contains.hpp index 0a75697..339e211 100644 --- a/include/boost/mpl/contains.hpp +++ b/include/boost/mpl/contains.hpp @@ -19,7 +19,7 @@ #include "boost/mpl/begin_end.hpp" #include "boost/mpl/find.hpp" -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/not.hpp" #include "boost/mpl/aux_/void_spec.hpp" #include "boost/mpl/aux_/lambda_support.hpp" #include "boost/type_traits/is_same.hpp" @@ -32,7 +32,7 @@ template< , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) > struct contains - : logical_not< is_same< + : not_< is_same< typename find::type , typename end::type > > diff --git a/include/boost/mpl/arithmetic/divides.hpp b/include/boost/mpl/divides.hpp similarity index 81% rename from include/boost/mpl/arithmetic/divides.hpp rename to include/boost/mpl/divides.hpp index 8661c24..c17dd05 100644 --- a/include/boost/mpl/arithmetic/divides.hpp +++ b/include/boost/mpl/divides.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/divides.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000/02 + +#ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED +#define BOOST_MPL_DIVIDES_HPP_INCLUDED + +// + file: boost/mpl/divides.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_DIVIDES_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_DIVIDES_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -75,4 +76,4 @@ BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,divides) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_DIVIDES_HPP_INCLUDED +#endif // BOOST_MPL_DIVIDES_HPP_INCLUDED diff --git a/include/boost/mpl/empty_base.hpp b/include/boost/mpl/empty_base.hpp index 1c9421e..65a9405 100644 --- a/include/boost/mpl/empty_base.hpp +++ b/include/boost/mpl/empty_base.hpp @@ -18,7 +18,7 @@ #define BOOST_MPL_EMPTY_BASE_HPP_INCLUDED #include "boost/type_traits/is_empty.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/config.hpp" // should be always the last #include directive @@ -34,19 +34,19 @@ struct empty_base {}; template< typename T > struct is_empty_base - : false_c + : false_ { #if defined(BOOST_MSVC) && BOOST_MSVC < 1300 - using false_c::value; + using false_::value; #endif }; template<> struct is_empty_base - : true_c + : true_ { #if defined(BOOST_MSVC) && BOOST_MSVC < 1300 - using true_c::value; + using true_::value; #endif }; diff --git a/include/boost/mpl/equal.hpp b/include/boost/mpl/equal.hpp index 3a3dd6a..b4578d7 100644 --- a/include/boost/mpl/equal.hpp +++ b/include/boost/mpl/equal.hpp @@ -19,12 +19,12 @@ #include "boost/mpl/aux_/iter_fold_if_impl.hpp" #include "boost/mpl/aux_/iter_apply.hpp" -#include "boost/mpl/logical/and.hpp" -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/and.hpp" +#include "boost/mpl/not.hpp" #include "boost/mpl/begin_end.hpp" #include "boost/mpl/next.hpp" #include "boost/mpl/always.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/lambda.hpp" #include "boost/mpl/bind.hpp" #include "boost/mpl/apply.hpp" @@ -51,9 +51,9 @@ struct equal_pred > struct apply { - typedef typename logical_and< - logical_not< is_same > - , logical_not< is_same > + typedef typename and_< + not_< is_same > + , not_< is_same > , aux::iter_apply2 >::type type; }; @@ -81,12 +81,12 @@ struct equal , next<> , aux::equal_pred , void_ - , always + , always > fold_; typedef typename fold_::iterator iter1_; typedef typename fold_::state iter2_; - typedef logical_and< + typedef and_< is_same , is_same > result_; diff --git a/include/boost/mpl/comparison/equal_to.hpp b/include/boost/mpl/equal_to.hpp similarity index 73% rename from include/boost/mpl/comparison/equal_to.hpp rename to include/boost/mpl/equal_to.hpp index 694d49d..e20164f 100644 --- a/include/boost/mpl/comparison/equal_to.hpp +++ b/include/boost/mpl/equal_to.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/equal_to.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED +#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED + +// + file: boost/mpl/equal_to.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_EQUAL_TO_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_EQUAL_TO_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct equal_to )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value )> type; @@ -69,4 +70,4 @@ struct eq } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_EQUAL_TO_HPP_INCLUDED +#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED diff --git a/include/boost/mpl/find_if.hpp b/include/boost/mpl/find_if.hpp index 0bb3c3c..adc9f99 100644 --- a/include/boost/mpl/find_if.hpp +++ b/include/boost/mpl/find_if.hpp @@ -19,8 +19,8 @@ #include "boost/mpl/aux_/iter_fold_if_impl.hpp" #include "boost/mpl/aux_/iter_apply.hpp" -#include "boost/mpl/logical/or.hpp" -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/or.hpp" +#include "boost/mpl/not.hpp" #include "boost/mpl/begin_end.hpp" #include "boost/mpl/always.hpp" #include "boost/mpl/lambda.hpp" @@ -45,7 +45,7 @@ struct find_if_pred > struct apply { - typedef typename logical_not< logical_or< + typedef typename not_< or_< is_same , aux::iter_apply1 > >::type type; @@ -72,7 +72,7 @@ struct find_if , mpl::arg<1> , aux::find_if_pred , void - , always + , always >::iterator type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate)) diff --git a/include/boost/mpl/for_each.hpp b/include/boost/mpl/for_each.hpp index 58be86c..bc4a855 100644 --- a/include/boost/mpl/for_each.hpp +++ b/include/boost/mpl/for_each.hpp @@ -19,7 +19,7 @@ #include "boost/mpl/begin_end.hpp" #include "boost/mpl/apply.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/lambda.hpp" #include "boost/mpl/identity.hpp" #include "boost/mpl/aux_/unwrap.hpp" diff --git a/include/boost/mpl/comparison/greater.hpp b/include/boost/mpl/greater.hpp similarity index 73% rename from include/boost/mpl/comparison/greater.hpp rename to include/boost/mpl/greater.hpp index 2bb1fae..a0d5c50 100644 --- a/include/boost/mpl/comparison/greater.hpp +++ b/include/boost/mpl/greater.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/greater.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_GREATER_HPP_INCLUDED +#define BOOST_MPL_GREATER_HPP_INCLUDED + +// + file: boost/mpl/greater.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_GREATER_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_GREATER_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct greater )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( (BOOST_MPL_AUX_VALUE_WKND(T1)::value) > (BOOST_MPL_AUX_VALUE_WKND(T2)::value) )> type; @@ -69,4 +70,4 @@ struct gt } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_GREATER_HPP_INCLUDED +#endif // BOOST_MPL_GREATER_HPP_INCLUDED diff --git a/include/boost/mpl/comparison/greater_equal.hpp b/include/boost/mpl/greater_equal.hpp similarity index 71% rename from include/boost/mpl/comparison/greater_equal.hpp rename to include/boost/mpl/greater_equal.hpp index c293e5b..9e93bcb 100644 --- a/include/boost/mpl/comparison/greater_equal.hpp +++ b/include/boost/mpl/greater_equal.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/greater_equal.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED +#define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED + +// + file: boost/mpl/greater_equal.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_GREATER_EQUAL_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct greater_equal )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( BOOST_MPL_AUX_VALUE_WKND(T1)::value >= BOOST_MPL_AUX_VALUE_WKND(T2)::value )> type; @@ -56,12 +57,17 @@ template< long N > struct ge { template< typename T > struct apply +#if !defined(__BORLANDC__) : greater_equal< T,integral_c > { +#else + { + typedef typename greater_equal< T,integral_c >::type type; +#endif }; }; } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_GREATER_EQUAL_HPP_INCLUDED +#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED diff --git a/include/boost/mpl/int.hpp b/include/boost/mpl/int.hpp new file mode 100644 index 0000000..72dc1fe --- /dev/null +++ b/include/boost/mpl/int.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_INT_HPP_INCLUDED +#define BOOST_MPL_INT_HPP_INCLUDED + +// + file: boost/mpl/int.hpp +// + last modified: 27/jan/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#define AUX_WRAPPER_VALUE_TYPE int +#include "boost/mpl/aux_/integral_wrapper.hpp" + +#endif // BOOST_MPL_INT_HPP_INCLUDED diff --git a/include/boost/mpl/integral_c.hpp b/include/boost/mpl/integral_c.hpp index c00d8a7..ef1aeba 100644 --- a/include/boost/mpl/integral_c.hpp +++ b/include/boost/mpl/integral_c.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost/mpl/intergal_c.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED +#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED + +// + file: boost/mpl/integral_c.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,63 +15,29 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED -#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/aux_/ice_cast.hpp" -#include "boost/mpl/aux_/config/static_constant.hpp" +#include "boost/mpl/aux_/config/ctps.hpp" #include "boost/mpl/aux_/config/workaround.hpp" -namespace boost { -namespace mpl { - -template< typename T, -// the type of non-type template arguments may not depend on template arguments #if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) - long -#else - T -#endif - N > -struct integral_c -{ - BOOST_STATIC_CONSTANT(T, value = N); - typedef integral_c type; - typedef T value_type; - - // Note that the static_casts below are there to handle the case - // where T is an enum type. - - // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), - // while some other don't like 'value + 1' (Borland), and some don't like - // either -#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243 - private: - BOOST_STATIC_CONSTANT(T, next_value = BOOST_MPL_AUX_ICE_CAST(T, (N + 1))); - BOOST_STATIC_CONSTANT(T, prior_value = BOOST_MPL_AUX_ICE_CAST(T, (N - 1))); - public: - typedef integral_c next; - typedef integral_c prior; -#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) - typedef integral_c next; - typedef integral_c prior; +// the type of non-type template arguments may not depend on template arguments +# define AUX_WRAPPER_PARAMS(N) typename T, long N #else - typedef integral_c next; - typedef integral_c prior; +# define AUX_WRAPPER_PARAMS(N) typename T, T N #endif - // enables uniform function call syntax for families of overloaded - // functions that return objects of both arithmetic ('int', 'long', - // 'double', etc.) and 'integral_c<..>' types (for an example, see - // "mpl/example/power.cpp") - operator T() const { return this->value; } -}; +#define AUX_WRAPPER_NAME integral_c +#define AUX_WRAPPER_VALUE_TYPE T +#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value > +#include "boost/mpl/aux_/integral_wrapper.hpp" + #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551) +namespace boost { namespace mpl { // 'bool' constant doesn't have 'next'/'prior' members template< bool C > struct integral_c @@ -78,9 +46,7 @@ struct integral_c typedef integral_c type; operator bool() const { return this->value; } }; +}} #endif -} // namespace mpl -} // namespace boost - #endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED diff --git a/include/boost/mpl/is_placeholder.hpp b/include/boost/mpl/is_placeholder.hpp index a30ecdb..6ffb408 100644 --- a/include/boost/mpl/is_placeholder.hpp +++ b/include/boost/mpl/is_placeholder.hpp @@ -18,7 +18,7 @@ #define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED #include "boost/mpl/arg_fwd.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/aux_/yes_no.hpp" #include "boost/mpl/aux_/config/ctps.hpp" #include "boost/mpl/aux_/config/nttp.hpp" @@ -29,13 +29,13 @@ namespace boost { namespace mpl { template< typename T > struct is_placeholder - : bool_c + : bool_ { }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct is_placeholder< arg > - : bool_c + : bool_ { }; diff --git a/include/boost/mpl/is_sequence.hpp b/include/boost/mpl/is_sequence.hpp index f748e9a..db101ed 100644 --- a/include/boost/mpl/is_sequence.hpp +++ b/include/boost/mpl/is_sequence.hpp @@ -17,11 +17,11 @@ #ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED #define BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED -#include "boost/mpl/logical/not.hpp" -#include "boost/mpl/logical/or.hpp" +#include "boost/mpl/not.hpp" +#include "boost/mpl/or.hpp" #include "boost/mpl/begin_end.hpp" #include "boost/mpl/if.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/sequence_tag_fwd.hpp" #include "boost/mpl/identity.hpp" #include "boost/mpl/void.hpp" @@ -42,7 +42,7 @@ namespace boost { namespace mpl { namespace aux { template< typename T > struct is_sequence_impl - : logical_or< + : or_< identity< aux::has_tag > , identity< aux::has_begin > > @@ -58,7 +58,7 @@ struct is_sequence : if_< boost::is_class , aux::is_sequence_impl - , bool_c + , bool_ >::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_sequence,(T)) @@ -70,7 +70,7 @@ template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) > struct is_sequence - : bool_c + : bool_ { }; @@ -80,7 +80,7 @@ template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) > struct is_sequence - : logical_not< is_same< typename begin::type, void_ > > + : not_< is_same< typename begin::type, void_ > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_sequence,(T)) }; @@ -89,7 +89,7 @@ struct is_sequence #if defined(BOOST_MPL_MSVC_60_ETI_BUG) template<> struct is_sequence - : bool_c + : bool_ { }; #endif diff --git a/include/boost/mpl/comparison/less.hpp b/include/boost/mpl/less.hpp similarity index 74% rename from include/boost/mpl/comparison/less.hpp rename to include/boost/mpl/less.hpp index 3893ed7..f7db4c8 100644 --- a/include/boost/mpl/comparison/less.hpp +++ b/include/boost/mpl/less.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/less.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_LESS_HPP_INCLUDED +#define BOOST_MPL_LESS_HPP_INCLUDED + +// + file: boost/mpl/less.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_LESS_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_LESS_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct less )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( (BOOST_MPL_AUX_VALUE_WKND(T1)::value) < (BOOST_MPL_AUX_VALUE_WKND(T2)::value) )> type; @@ -69,4 +70,4 @@ struct lt } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_LESS_HPP_INCLUDED +#endif // BOOST_MPL_LESS_HPP_INCLUDED diff --git a/include/boost/mpl/comparison/less_equal.hpp b/include/boost/mpl/less_equal.hpp similarity index 73% rename from include/boost/mpl/comparison/less_equal.hpp rename to include/boost/mpl/less_equal.hpp index ae4235f..d3688ae 100644 --- a/include/boost/mpl/comparison/less_equal.hpp +++ b/include/boost/mpl/less_equal.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/less_equal.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED +#define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED + +// + file: boost/mpl/less_equal.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_LESS_EQUAL_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_LESS_EQUAL_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct less_equal )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( BOOST_MPL_AUX_VALUE_WKND(T1)::value <= BOOST_MPL_AUX_VALUE_WKND(T2)::value )> type; @@ -69,4 +70,4 @@ struct le } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_LESS_EQUAL_HPP_INCLUDED +#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED diff --git a/include/boost/mpl/list/aux_/empty.hpp b/include/boost/mpl/list/aux_/empty.hpp index d73f9c4..83d6713 100644 --- a/include/boost/mpl/list/aux_/empty.hpp +++ b/include/boost/mpl/list/aux_/empty.hpp @@ -18,7 +18,7 @@ #define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED #include "boost/mpl/empty_fwd.hpp" -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/not.hpp" #include "boost/mpl/list/aux_/tag.hpp" namespace boost { @@ -28,7 +28,7 @@ template<> struct empty_traits< aux::list_tag > { template< typename List > struct algorithm - : logical_not + : not_ { }; }; diff --git a/include/boost/mpl/logical.hpp b/include/boost/mpl/logical.hpp index 6723175..d57a421 100644 --- a/include/boost/mpl/logical.hpp +++ b/include/boost/mpl/logical.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/logical.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED +#define BOOST_MPL_LOGICAL_HPP_INCLUDED + +// + file: boost/mpl/logical.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,12 +15,11 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED -#define BOOST_MPL_LOGICAL_HPP_INCLUDED - -#include "boost/mpl/logical/or.hpp" -#include "boost/mpl/logical/and.hpp" -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/or.hpp" +#include "boost/mpl/and.hpp" +#include "boost/mpl/not.hpp" #endif // BOOST_MPL_LOGICAL_HPP_INCLUDED diff --git a/include/boost/mpl/long.hpp b/include/boost/mpl/long.hpp new file mode 100644 index 0000000..2206176 --- /dev/null +++ b/include/boost/mpl/long.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_LONG_HPP_INCLUDED +#define BOOST_MPL_LONG_HPP_INCLUDED + +// + file: boost/mpl/long.hpp +// + last modified: 27/jan/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#define AUX_WRAPPER_VALUE_TYPE long +#include "boost/mpl/aux_/integral_wrapper.hpp" + +#endif // BOOST_MPL_LONG_HPP_INCLUDED diff --git a/include/boost/mpl/lower_bound.hpp b/include/boost/mpl/lower_bound.hpp index bc2a764..41d65d3 100644 --- a/include/boost/mpl/lower_bound.hpp +++ b/include/boost/mpl/lower_bound.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_LOWER_BOUND_HPP_INCLUDED #define BOOST_MPL_LOWER_BOUND_HPP_INCLUDED -#include "boost/mpl/comparison/less.hpp" +#include "boost/mpl/less.hpp" #include "boost/mpl/lambda.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -26,20 +26,20 @@ #endif #if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL) -# include "boost/mpl/arithmetic/minus.hpp" -# include "boost/mpl/arithmetic/divides.hpp" +# include "boost/mpl/minus.hpp" +# include "boost/mpl/divides.hpp" # include "boost/mpl/size.hpp" # include "boost/mpl/advance.hpp" # include "boost/mpl/begin_end.hpp" # include "boost/mpl/integral_c.hpp" -# include "boost/mpl/int_c.hpp" +# include "boost/mpl/int.hpp" # include "boost/mpl/apply_if.hpp" # include "boost/mpl/apply.hpp" # include "boost/mpl/aux_/apply.hpp" # include "boost/mpl/aux_/deref_wknd.hpp" # include "boost/mpl/aux_/value_wknd.hpp" #else -# include "boost/mpl/logical/not.hpp" +# include "boost/mpl/not.hpp" # include "boost/mpl/find.hpp" # include "boost/mpl/bind.hpp" #endif @@ -60,7 +60,7 @@ template< , typename pred_ = typename lambda::type > struct lower_bound - : find_if< Sequence, bind1< logical_not<>, bind2 > > + : find_if< Sequence, bind1< not_<>, bind2 > > { }; diff --git a/include/boost/mpl/math/is_even.hpp b/include/boost/mpl/math/is_even.hpp index 5b1a3d8..215c711 100644 --- a/include/boost/mpl/math/is_even.hpp +++ b/include/boost/mpl/math/is_even.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED #define BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/aux_/void_spec.hpp" #include "boost/mpl/aux_/lambda_support.hpp" #include "boost/mpl/aux_/config/eti.hpp" @@ -30,7 +30,7 @@ template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(N) > struct is_even - : bool_c<((N::value % 2) == 0)> + : bool_<((N::value % 2) == 0)> { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_even,(N)) }; diff --git a/include/boost/mpl/max_element.hpp b/include/boost/mpl/max_element.hpp index f3fa73d..edb6f95 100644 --- a/include/boost/mpl/max_element.hpp +++ b/include/boost/mpl/max_element.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED #define BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED -#include "boost/mpl/comparison/less.hpp" +#include "boost/mpl/less.hpp" #include "boost/mpl/iter_fold.hpp" #include "boost/mpl/begin_end.hpp" #include "boost/mpl/if.hpp" diff --git a/include/boost/mpl/arithmetic/minus.hpp b/include/boost/mpl/minus.hpp similarity index 80% rename from include/boost/mpl/arithmetic/minus.hpp rename to include/boost/mpl/minus.hpp index 314c5ce..62dc0f6 100644 --- a/include/boost/mpl/arithmetic/minus.hpp +++ b/include/boost/mpl/minus.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/minus.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_MINUS_HPP_INCLUDED +#define BOOST_MPL_MINUS_HPP_INCLUDED + +// + file: boost/mpl/minus.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_MINUS_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_MINUS_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -67,4 +68,4 @@ BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,minus) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_MINUS_HPP_INCLUDED +#endif // BOOST_MPL_MINUS_HPP_INCLUDED diff --git a/include/boost/mpl/arithmetic/modulus.hpp b/include/boost/mpl/modulus.hpp similarity index 77% rename from include/boost/mpl/arithmetic/modulus.hpp rename to include/boost/mpl/modulus.hpp index 088e441..13608b5 100644 --- a/include/boost/mpl/arithmetic/modulus.hpp +++ b/include/boost/mpl/modulus.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/modulus.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2111%12 + +#ifndef BOOST_MPL_MODULUS_HPP_INCLUDED +#define BOOST_MPL_MODULUS_HPP_INCLUDED + +// + file: boost/mpl/modulus.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_MODULUS_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_MODULUS_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -69,4 +70,4 @@ BOOST_MPL_AUX_VOID_SPEC(2,modulus) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_MODULUS_HPP_INCLUDED +#endif // BOOST_MPL_MODULUS_HPP_INCLUDED diff --git a/include/boost/mpl/arithmetic/multiplies.hpp b/include/boost/mpl/multiplies.hpp similarity index 79% rename from include/boost/mpl/arithmetic/multiplies.hpp rename to include/boost/mpl/multiplies.hpp index e3fc86e..4bdb030 100644 --- a/include/boost/mpl/arithmetic/multiplies.hpp +++ b/include/boost/mpl/multiplies.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/multiplies.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED +#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED + +// + file: boost/mpl/multiplies.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_MULTIPLIES_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_MULTIPLIES_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -67,4 +68,4 @@ BOOST_MPL_AUX_VOID_SPEC_EXT(2, 5, multiplies) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_MULTIPLIES_HPP_INCLUDED +#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED diff --git a/include/boost/mpl/arithmetic/negate.hpp b/include/boost/mpl/negate.hpp similarity index 72% rename from include/boost/mpl/arithmetic/negate.hpp rename to include/boost/mpl/negate.hpp index 9832ac0..8ff5863 100644 --- a/include/boost/mpl/arithmetic/negate.hpp +++ b/include/boost/mpl/negate.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/negate.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED +#define BOOST_MPL_NEGATE_HPP_INCLUDED + +// + file: boost/mpl/negate.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_NEGATE_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_NEGATE_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -47,4 +48,4 @@ BOOST_MPL_AUX_VOID_SPEC(1,negate) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_NEGATE_HPP_INCLUDED +#endif // BOOST_MPL_NEGATE_HPP_INCLUDED diff --git a/include/boost/mpl/not.hpp b/include/boost/mpl/not.hpp new file mode 100644 index 0000000..aca034f --- /dev/null +++ b/include/boost/mpl/not.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_NOT_HPP_INCLUDED +#define BOOST_MPL_NOT_HPP_INCLUDED + +// + file: boost/mpl/not.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/bool.hpp" +#include "boost/mpl/aux_/nested_type_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" + +namespace boost { +namespace mpl { + +namespace aux { + +template< long C_ > // 'long' is intentional here +struct not_impl + : bool_ +{ +}; + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) + > +struct not_ + : aux::not_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T)) +}; + +BOOST_MPL_AUX_VOID_SPEC(1,not_) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_NOT_HPP_INCLUDED diff --git a/include/boost/mpl/comparison/not_equal_to.hpp b/include/boost/mpl/not_equal_to.hpp similarity index 73% rename from include/boost/mpl/comparison/not_equal_to.hpp rename to include/boost/mpl/not_equal_to.hpp index 7a6d72a..93780ba 100644 --- a/include/boost/mpl/comparison/not_equal_to.hpp +++ b/include/boost/mpl/not_equal_to.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/comparison/not_equal_to.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED +#define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED + +// + file: boost/mpl/not_equal_to.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,11 +15,10 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. -#ifndef BOOST_MPL_COMPARISON_NOT_EQUAL_TO_HPP_INCLUDED -#define BOOST_MPL_COMPARISON_NOT_EQUAL_TO_HPP_INCLUDED - -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -39,9 +40,9 @@ struct not_equal_to )); #if !defined(__BORLANDC__) - typedef bool_c type; + typedef bool_ type; #else - typedef bool_c<( + typedef bool_<( BOOST_MPL_AUX_VALUE_WKND(T1)::value != BOOST_MPL_AUX_VALUE_WKND(T2)::value )> type; @@ -69,4 +70,4 @@ struct ne } // namespace mpl } // namespace boost -#endif // BOOST_MPL_COMPARISON_NOT_EQUAL_TO_HPP_INCLUDED +#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED diff --git a/include/boost/mpl/or.hpp b/include/boost/mpl/or.hpp new file mode 100644 index 0000000..297088e --- /dev/null +++ b/include/boost/mpl/or.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_OR_HPP_INCLUDED +#define BOOST_MPL_OR_HPP_INCLUDED + +// + file: boost/mpl/or.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/aux_/config/use_preprocessed.hpp" + +#if !defined(BOOST_MPL_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include "boost/mpl/bool.hpp" +# include "boost/mpl/aux_/nested_type_wknd.hpp" +# include "boost/mpl/aux_/void_spec.hpp" +# include "boost/mpl/aux_/lambda_support.hpp" + +# define BOOST_MPL_PREPROCESSED_HEADER or.hpp +# include "boost/mpl/aux_/include_preprocessed.hpp" + +#else + +# define AUX_LOGICAL_OP_NAME or_ +# define AUX_LOGICAL_OP_VALUE1 true +# define AUX_LOGICAL_OP_VALUE2 false +# include "boost/mpl/aux_/logical_op.hpp" + +#endif // BOOST_MPL_USE_PREPROCESSED_HEADERS +#endif // BOOST_MPL_OR_HPP_INCLUDED diff --git a/include/boost/mpl/placeholders.hpp b/include/boost/mpl/placeholders.hpp new file mode 100644 index 0000000..8f49ada --- /dev/null +++ b/include/boost/mpl/placeholders.hpp @@ -0,0 +1,80 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED +#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED + +// + file: boost/mpl/placeholders.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2001-03 +// Peter Dimov, Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include "boost/mpl/arg.hpp" +#endif + +#include "boost/mpl/aux_/config/use_preprocessed.hpp" + +#if !defined(BOOST_MPL_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp +# include "boost/mpl/aux_/include_preprocessed.hpp" + +#else + +# include "boost/mpl/aux_/config/nttp.hpp" +# include "boost/mpl/limits/arity.hpp" +# include "boost/preprocessor/iterate.hpp" +# include "boost/preprocessor/cat.hpp" + +namespace boost { +namespace mpl { + +// watch out for GNU gettext users, who #define _(x) +#if !defined(_) || defined(BOOST_MPL_NO_UNNAMED_PLACEHOLDER_SUPPORT) +typedef arg<-1> _; + +namespace placeholders { +using boost::mpl::_; +} +#endif + +//: agurt, 17/mar/02: one more placeholder for the last 'apply#' +//: specialization +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(1, BOOST_MPL_METAFUNCTION_MAX_ARITY + 1, "boost/mpl/placeholders.hpp")) +#include BOOST_PP_ITERATE() + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_USE_PREPROCESSED_HEADERS +#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED + +///// iteration + +#else +#define i BOOST_PP_FRAME_ITERATION(1) + +typedef arg BOOST_PP_CAT(_,i); + +namespace placeholders { +using boost::mpl::BOOST_PP_CAT(_,i); +} + +#undef i +#endif // BOOST_PP_IS_ITERATING diff --git a/include/boost/mpl/arithmetic/plus.hpp b/include/boost/mpl/plus.hpp similarity index 80% rename from include/boost/mpl/arithmetic/plus.hpp rename to include/boost/mpl/plus.hpp index e8ffa65..ddb308f 100644 --- a/include/boost/mpl/arithmetic/plus.hpp +++ b/include/boost/mpl/plus.hpp @@ -1,9 +1,11 @@ -//----------------------------------------------------------------------------- -// boost mpl/arithmetic/plus.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 + +#ifndef BOOST_MPL_PLUS_HPP_INCLUDED +#define BOOST_MPL_PLUS_HPP_INCLUDED + +// + file: boost/mpl/plus.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,9 +15,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. - -#ifndef BOOST_MPL_ARITHMETIC_PLUS_HPP_INCLUDED -#define BOOST_MPL_ARITHMETIC_PLUS_HPP_INCLUDED +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/typeof.hpp" @@ -67,4 +68,4 @@ BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,plus) } // namespace mpl } // namespace boost -#endif // BOOST_MPL_ARITHMETIC_PLUS_HPP_INCLUDED +#endif // BOOST_MPL_PLUS_HPP_INCLUDED diff --git a/include/boost/mpl/same_as.hpp b/include/boost/mpl/same_as.hpp index a83e22f..d44dabf 100644 --- a/include/boost/mpl/same_as.hpp +++ b/include/boost/mpl/same_as.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED #define BOOST_MPL_SAME_AS_HPP_INCLUDED -#include "boost/mpl/logical/not.hpp" +#include "boost/mpl/not.hpp" #include "boost/mpl/aux_/lambda_spec.hpp" #include "boost/type_traits/is_same.hpp" @@ -43,11 +43,11 @@ struct not_same_as { template< typename T2 > struct apply #if !defined(__BORLANDC__) || (__BORLANDC__ > 0x51 && defined(BOOST_STRICT_CONFIG)) - : logical_not< is_same > + : not_< is_same > { #else { - typedef typename logical_not< is_same >::type type; + typedef typename not_< is_same >::type type; #endif }; }; diff --git a/include/boost/mpl/shift_left.hpp b/include/boost/mpl/shift_left.hpp new file mode 100644 index 0000000..fd40182 --- /dev/null +++ b/include/boost/mpl/shift_left.hpp @@ -0,0 +1,64 @@ + +#ifndef BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED +#define BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED + +// + file: boost/mpl/shift_left.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy, Jaap Suter +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/integral_c.hpp" +#include "boost/mpl/aux_/typeof.hpp" +#include "boost/mpl/aux_/value_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" +#include "boost/config.hpp" + +namespace boost { +namespace mpl { + +template< + typename T, T N, typename ShiftT, ShiftT Shift + > +struct shift_left_c +{ + BOOST_STATIC_CONSTANT(T, value = (N << Shift)); +#if !defined(__BORLANDC__) + typedef integral_c type; +#else + typedef integral_c type; +#endif +}; + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Shift) + > +struct shift_left + : shift_left_c< + BOOST_MPL_AUX_TYPEOF(T, T::value) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T)::value + , BOOST_MPL_AUX_TYPEOF(Shift, Shift::value) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(Shift)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (T,Shift)) +}; + +BOOST_MPL_AUX_VOID_SPEC(2,shift_left) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED diff --git a/include/boost/mpl/shift_right.hpp b/include/boost/mpl/shift_right.hpp new file mode 100644 index 0000000..263cf80 --- /dev/null +++ b/include/boost/mpl/shift_right.hpp @@ -0,0 +1,64 @@ + +#ifndef BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED +#define BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED + +// + file: boost/mpl/shift_right.hpp +// + last modified: 25/feb/03 + +// Copyright (c) 2000-03 +// Aleksey Gurtovoy, Jaap Suter +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// supporting documentation. No representations are made about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. + +#include "boost/mpl/integral_c.hpp" +#include "boost/mpl/aux_/typeof.hpp" +#include "boost/mpl/aux_/value_wknd.hpp" +#include "boost/mpl/aux_/void_spec.hpp" +#include "boost/mpl/aux_/lambda_support.hpp" +#include "boost/config.hpp" + +namespace boost { +namespace mpl { + +template< + typename T, T N, typename ShiftT, ShiftT Shift + > +struct shift_right_c +{ + BOOST_STATIC_CONSTANT(T, value = (N >> Shift)); +#if !defined(__BORLANDC__) + typedef integral_c type; +#else + typedef integral_c> Shift)> type; +#endif +}; + +template< + typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T) + , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Shift) + > +struct shift_right + : shift_right_c< + BOOST_MPL_AUX_TYPEOF(T, T::value) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(T)::value + , BOOST_MPL_AUX_TYPEOF(Shift, Shift::value) + , BOOST_MPL_AUX_MSVC_VALUE_WKND(Shift)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (T,Shift)) +}; + +BOOST_MPL_AUX_VOID_SPEC(2,shift_right) + +} // namespace mpl +} // namespace boost + +#endif // BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED diff --git a/include/boost/mpl/upper_bound.hpp b/include/boost/mpl/upper_bound.hpp index f1fae44..8976a17 100644 --- a/include/boost/mpl/upper_bound.hpp +++ b/include/boost/mpl/upper_bound.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_UPPER_BOUND_HPP_INCLUDED #define BOOST_MPL_UPPER_BOUND_HPP_INCLUDED -#include "boost/mpl/comparison/less.hpp" +#include "boost/mpl/less.hpp" #include "boost/mpl/lambda.hpp" #include "boost/mpl/aux_/void_spec.hpp" @@ -26,13 +26,13 @@ #endif #if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL) -# include "boost/mpl/arithmetic/minus.hpp" -# include "boost/mpl/arithmetic/divides.hpp" +# include "boost/mpl/minus.hpp" +# include "boost/mpl/divides.hpp" # include "boost/mpl/size.hpp" # include "boost/mpl/advance.hpp" # include "boost/mpl/begin_end.hpp" # include "boost/mpl/integral_c.hpp" -# include "boost/mpl/int_c.hpp" +# include "boost/mpl/int.hpp" # include "boost/mpl/apply_if.hpp" # include "boost/mpl/apply.hpp" # include "boost/mpl/aux_/apply.hpp" diff --git a/include/boost/mpl/v2_1/int.hpp b/include/boost/mpl/v2_1/int.hpp index c5caa00..2d0ca2c 100644 --- a/include/boost/mpl/v2_1/int.hpp +++ b/include/boost/mpl/v2_1/int.hpp @@ -17,12 +17,12 @@ #ifndef BOOST_MPL_V2_1_INT_HPP_INCLUDED #define BOOST_MPL_V2_1_INT_HPP_INCLUDED -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/aux_/config/nttp.hpp" namespace boost { namespace mpl { namespace v2_1 { -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_ : mpl::int_c {}; +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_ : mpl::int_ {}; }}} // namespace boost::mpl::v2_1 diff --git a/include/boost/mpl/vector/aux_/empty.hpp b/include/boost/mpl/vector/aux_/empty.hpp index f5d9127..964d82a 100644 --- a/include/boost/mpl/vector/aux_/empty.hpp +++ b/include/boost/mpl/vector/aux_/empty.hpp @@ -18,8 +18,8 @@ #define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED #include "boost/mpl/empty_fwd.hpp" -#include "boost/mpl/logical/not.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/not.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/vector/aux_/tag.hpp" #include "boost/mpl/aux_/config/vector.hpp" #include "boost/config.hpp" @@ -33,7 +33,7 @@ template<> struct empty_traits< aux::vector_tag > { template< typename Vector > struct algorithm - : logical_not< typename Vector::size > + : not_< typename Vector::size > { }; }; @@ -44,7 +44,7 @@ template<> struct empty_traits< aux::vector_tag<0> > { template< typename Vector > struct algorithm - : true_c + : true_ { }; }; @@ -55,7 +55,7 @@ template< long N > struct empty_traits< aux::vector_tag > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/iterator.hpp b/include/boost/mpl/vector/aux_/iterator.hpp index b023c34..a61ae60 100644 --- a/include/boost/mpl/vector/aux_/iterator.hpp +++ b/include/boost/mpl/vector/aux_/iterator.hpp @@ -18,8 +18,8 @@ #define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED #include "boost/mpl/iterator_tag.hpp" -#include "boost/mpl/arithmetic/plus.hpp" -#include "boost/mpl/arithmetic/minus.hpp" +#include "boost/mpl/plus.hpp" +#include "boost/mpl/minus.hpp" #include "boost/mpl/aux_/iterator_names.hpp" #include "boost/mpl/aux_/value_wknd.hpp" #include "boost/mpl/vector/aux_/item.hpp" diff --git a/include/boost/mpl/vector/aux_/numbered.hpp b/include/boost/mpl/vector/aux_/numbered.hpp index b3cd5a3..bf15e00 100644 --- a/include/boost/mpl/vector/aux_/numbered.hpp +++ b/include/boost/mpl/vector/aux_/numbered.hpp @@ -157,7 +157,7 @@ template<> struct empty_traits< aux::vector_tag > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp index a98d792..24dae5d 100644 --- a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +++ b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp @@ -126,7 +126,7 @@ template<> struct empty_traits< aux::vector_tag< 1> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -238,7 +238,7 @@ template<> struct empty_traits< aux::vector_tag< 2> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -351,7 +351,7 @@ template<> struct empty_traits< aux::vector_tag< 3> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -467,7 +467,7 @@ template<> struct empty_traits< aux::vector_tag< 4> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -584,7 +584,7 @@ template<> struct empty_traits< aux::vector_tag< 5> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -705,7 +705,7 @@ template<> struct empty_traits< aux::vector_tag< 6> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -827,7 +827,7 @@ template<> struct empty_traits< aux::vector_tag< 7> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -952,7 +952,7 @@ template<> struct empty_traits< aux::vector_tag< 8> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1078,7 +1078,7 @@ template<> struct empty_traits< aux::vector_tag< 9> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1207,7 +1207,7 @@ template<> struct empty_traits< aux::vector_tag< 10> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp index 4266ebd..9b69289 100644 --- a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +++ b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp @@ -106,7 +106,7 @@ template<> struct empty_traits< aux::vector_tag< 11> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -240,7 +240,7 @@ template<> struct empty_traits< aux::vector_tag< 12> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -375,7 +375,7 @@ template<> struct empty_traits< aux::vector_tag< 13> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -513,7 +513,7 @@ template<> struct empty_traits< aux::vector_tag< 14> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -652,7 +652,7 @@ template<> struct empty_traits< aux::vector_tag< 15> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -795,7 +795,7 @@ template<> struct empty_traits< aux::vector_tag< 16> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -939,7 +939,7 @@ template<> struct empty_traits< aux::vector_tag< 17> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1086,7 +1086,7 @@ template<> struct empty_traits< aux::vector_tag< 18> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1234,7 +1234,7 @@ template<> struct empty_traits< aux::vector_tag< 19> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1385,7 +1385,7 @@ template<> struct empty_traits< aux::vector_tag< 20> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp index c67ce63..2f562dd 100644 --- a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +++ b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp @@ -128,7 +128,7 @@ template<> struct empty_traits< aux::vector_tag< 21> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -284,7 +284,7 @@ template<> struct empty_traits< aux::vector_tag< 22> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -441,7 +441,7 @@ template<> struct empty_traits< aux::vector_tag< 23> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -601,7 +601,7 @@ template<> struct empty_traits< aux::vector_tag< 24> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -762,7 +762,7 @@ template<> struct empty_traits< aux::vector_tag< 25> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -927,7 +927,7 @@ template<> struct empty_traits< aux::vector_tag< 26> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1093,7 +1093,7 @@ template<> struct empty_traits< aux::vector_tag< 27> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1262,7 +1262,7 @@ template<> struct empty_traits< aux::vector_tag< 28> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1432,7 +1432,7 @@ template<> struct empty_traits< aux::vector_tag< 29> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1605,7 +1605,7 @@ template<> struct empty_traits< aux::vector_tag< 30> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp index 83b3312..4931f53 100644 --- a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +++ b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp @@ -150,7 +150,7 @@ template<> struct empty_traits< aux::vector_tag< 31> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -328,7 +328,7 @@ template<> struct empty_traits< aux::vector_tag< 32> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -507,7 +507,7 @@ template<> struct empty_traits< aux::vector_tag< 33> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -689,7 +689,7 @@ template<> struct empty_traits< aux::vector_tag< 34> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -872,7 +872,7 @@ template<> struct empty_traits< aux::vector_tag< 35> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1059,7 +1059,7 @@ template<> struct empty_traits< aux::vector_tag< 36> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1247,7 +1247,7 @@ template<> struct empty_traits< aux::vector_tag< 37> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1438,7 +1438,7 @@ template<> struct empty_traits< aux::vector_tag< 38> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1630,7 +1630,7 @@ template<> struct empty_traits< aux::vector_tag< 39> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1825,7 +1825,7 @@ template<> struct empty_traits< aux::vector_tag< 40> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp index 88e90e4..97ced0d 100644 --- a/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +++ b/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp @@ -172,7 +172,7 @@ template<> struct empty_traits< aux::vector_tag< 41> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -372,7 +372,7 @@ template<> struct empty_traits< aux::vector_tag< 42> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -573,7 +573,7 @@ template<> struct empty_traits< aux::vector_tag< 43> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -777,7 +777,7 @@ template<> struct empty_traits< aux::vector_tag< 44> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -982,7 +982,7 @@ template<> struct empty_traits< aux::vector_tag< 45> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1191,7 +1191,7 @@ template<> struct empty_traits< aux::vector_tag< 46> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1401,7 +1401,7 @@ template<> struct empty_traits< aux::vector_tag< 47> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1614,7 +1614,7 @@ template<> struct empty_traits< aux::vector_tag< 48> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -1828,7 +1828,7 @@ template<> struct empty_traits< aux::vector_tag< 49> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; @@ -2045,7 +2045,7 @@ template<> struct empty_traits< aux::vector_tag< 50> > { template< typename Vector > struct algorithm - : false_c + : false_ { }; }; diff --git a/include/boost/mpl/void.hpp b/include/boost/mpl/void.hpp index f373ac1..e6c79d1 100644 --- a/include/boost/mpl/void.hpp +++ b/include/boost/mpl/void.hpp @@ -17,7 +17,7 @@ #ifndef BOOST_MPL_VOID_HPP_INCLUDED #define BOOST_MPL_VOID_HPP_INCLUDED -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/config.hpp" namespace boost { @@ -31,19 +31,19 @@ struct void_ {}; template< typename T > struct is_void_ - : false_c + : false_ { #if defined(BOOST_MSVC) && BOOST_MSVC < 1300 - using false_c::value; + using false_::value; #endif }; template<> struct is_void_ - : true_c + : true_ { #if defined(BOOST_MSVC) && BOOST_MSVC < 1300 - using true_c::value; + using true_::value; #endif }; diff --git a/preprocessed/src/placeholder.cpp b/preprocessed/src/and.cpp similarity index 50% rename from preprocessed/src/placeholder.cpp rename to preprocessed/src/and.cpp index 5c5bca7..29c030a 100644 --- a/preprocessed/src/placeholder.cpp +++ b/preprocessed/src/and.cpp @@ -1,2 +1,2 @@ #define BOOST_MPL_PREPROCESSING_MODE -#include "boost/mpl/placeholder.hpp" +#include "boost/mpl/and.hpp" diff --git a/preprocessed/src/or.cpp b/preprocessed/src/or.cpp new file mode 100644 index 0000000..ea77b7e --- /dev/null +++ b/preprocessed/src/or.cpp @@ -0,0 +1,2 @@ +#define BOOST_MPL_PREPROCESSING_MODE +#include "boost/mpl/or.hpp" diff --git a/preprocessed/src/placeholders.cpp b/preprocessed/src/placeholders.cpp new file mode 100644 index 0000000..370bbad --- /dev/null +++ b/preprocessed/src/placeholders.cpp @@ -0,0 +1,2 @@ +#define BOOST_MPL_PREPROCESSING_MODE +#include "boost/mpl/placeholders.hpp" diff --git a/test/Jamfile b/test/Jamfile index b1cf376..da9ae10 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -14,7 +14,7 @@ compile assert_is_same.cpp ; compile at.cpp ; compile back.cpp ; compile bind.cpp ; -compile bool_c.cpp ; +compile bool.cpp ; compile comparison.cpp ; compile contains.cpp ; compile copy.cpp ; @@ -39,7 +39,7 @@ compile if.cpp ; compile inherit.cpp ; compile insert.cpp ; compile insert_range.cpp ; -compile int_c.cpp ; +compile int.cpp ; compile integral_c.cpp ; compile is_sequence.cpp ; compile joint_view.cpp ; diff --git a/test/always.cpp b/test/always.cpp index bf687d7..9741f2e 100644 --- a/test/always.cpp +++ b/test/always.cpp @@ -15,8 +15,8 @@ // without express or implied warranty. #include "boost/mpl/always.hpp" -#include "boost/mpl/bool_c.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/bool.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/apply.hpp" #include "boost/static_assert.hpp" @@ -24,19 +24,19 @@ namespace mpl = boost::mpl; int main() { - typedef mpl::always always_true; - typedef mpl::apply1< always_true,mpl::false_c >::type res1; - typedef mpl::apply2< always_true,mpl::false_c,mpl::false_c >::type res2; - typedef mpl::apply3< always_true,mpl::false_c,mpl::false_c,mpl::false_c >::type res3; + typedef mpl::always always_true; + typedef mpl::apply1< always_true,mpl::false_ >::type res1; + typedef mpl::apply2< always_true,mpl::false_,mpl::false_ >::type res2; + typedef mpl::apply3< always_true,mpl::false_,mpl::false_,mpl::false_ >::type res3; BOOST_STATIC_ASSERT(res1::value == true); BOOST_STATIC_ASSERT(res2::value == true); BOOST_STATIC_ASSERT(res3::value == true); - typedef mpl::always< mpl::int_c<10> > always_10; - typedef mpl::apply1< always_10,mpl::int_c<0> >::type res4; - typedef mpl::apply2< always_10,mpl::int_c<0>,mpl::int_c<0> >::type res5; - typedef mpl::apply3< always_10,mpl::int_c<0>,mpl::int_c<0>,mpl::int_c<0> >::type res6; + typedef mpl::always< mpl::int_<10> > always_10; + typedef mpl::apply1< always_10,mpl::int_<0> >::type res4; + typedef mpl::apply2< always_10,mpl::int_<0>,mpl::int_<0> >::type res5; + typedef mpl::apply3< always_10,mpl::int_<0>,mpl::int_<0>,mpl::int_<0> >::type res6; BOOST_STATIC_ASSERT(res4::value == 10); BOOST_STATIC_ASSERT(res5::value == 10); diff --git a/test/apply_if.cpp b/test/apply_if.cpp index cb44479..d62e3f7 100644 --- a/test/apply_if.cpp +++ b/test/apply_if.cpp @@ -15,7 +15,7 @@ // without express or implied warranty. #include "boost/mpl/apply_if.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/identity.hpp" #include "boost/mpl/assert_is_same.hpp" @@ -24,7 +24,7 @@ namespace mpl = boost::mpl; int main() { typedef mpl::apply_if< - mpl::true_c + mpl::true_ , mpl::identity , mpl::identity >::type t1; @@ -39,7 +39,7 @@ int main() BOOST_MPL_ASSERT_IS_SAME(t2, char); typedef mpl::apply_if< - mpl::false_c + mpl::false_ , mpl::identity , mpl::identity >::type t3; diff --git a/test/arithmetic.cpp b/test/arithmetic.cpp index 29d7779..26468e8 100644 --- a/test/arithmetic.cpp +++ b/test/arithmetic.cpp @@ -15,17 +15,17 @@ // without express or implied warranty. #include "boost/mpl/arithmetic.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; int main() { - typedef mpl::int_c<0> _0; - typedef mpl::int_c<1> _1; - typedef mpl::int_c<3> _3; - typedef mpl::int_c<10> _10; + typedef mpl::int_<0> _0; + typedef mpl::int_<1> _1; + typedef mpl::int_<3> _3; + typedef mpl::int_<10> _10; BOOST_STATIC_ASSERT((mpl::plus<_0,_10>::value == 10)); BOOST_STATIC_ASSERT((mpl::plus<_10,_0>::value == 10)); diff --git a/test/bind.cpp b/test/bind.cpp index 3008054..f6e5b17 100644 --- a/test/bind.cpp +++ b/test/bind.cpp @@ -44,7 +44,7 @@ struct f5 int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::apply1< mpl::bind1,int >::type r11; typedef mpl::apply5< mpl::bind1,void,void,void,void,int >::type r12; diff --git a/test/bool_c.cpp b/test/bool.cpp similarity index 72% rename from test/bool_c.cpp rename to test/bool.cpp index 6949b59..62b956a 100644 --- a/test/bool_c.cpp +++ b/test/bool.cpp @@ -1,5 +1,5 @@ //----------------------------------------------------------------------------- -// boost mpl/test/bool_c.cpp source file +// boost mpl/test/bool_.cpp source file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // @@ -14,7 +14,7 @@ // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/assert_is_same.hpp" #include "boost/static_assert.hpp" @@ -23,11 +23,11 @@ namespace mpl = boost::mpl; #define BOOL_C_TEST(c) \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_c::value_type, bool); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_c, mpl::c##_c); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_c::type, mpl::bool_c); } \ - { BOOST_STATIC_ASSERT(mpl::bool_c::value == c); } \ - assert(mpl::bool_c() == c); \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_::value_type, bool); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_, mpl::c##_); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::bool_::type, mpl::bool_); } \ + { BOOST_STATIC_ASSERT(mpl::bool_::value == c); } \ + assert(mpl::bool_() == c); \ /**/ int main() diff --git a/test/comparison.cpp b/test/comparison.cpp index f5404b9..80386e1 100644 --- a/test/comparison.cpp +++ b/test/comparison.cpp @@ -15,15 +15,15 @@ // without express or implied warranty. #include "boost/mpl/comparison.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; int main() { - typedef mpl::int_c<0> _0; - typedef mpl::int_c<10> _10; + typedef mpl::int_<0> _0; + typedef mpl::int_<10> _10; BOOST_STATIC_ASSERT((mpl::less<_0, _10>::value)); BOOST_STATIC_ASSERT((!mpl::less<_10, _0>::value)); diff --git a/test/copy_backward.cpp b/test/copy_backward.cpp index a6fd258..acf37fb 100644 --- a/test/copy_backward.cpp +++ b/test/copy_backward.cpp @@ -26,7 +26,7 @@ namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list10_c::type numbers; typedef mpl::copy_backward< diff --git a/test/copy_if.cpp b/test/copy_if.cpp index 21cc0d1..2148592 100644 --- a/test/copy_if.cpp +++ b/test/copy_if.cpp @@ -17,8 +17,8 @@ #include "boost/mpl/copy_if.hpp" #include "boost/mpl/list_c.hpp" #include "boost/mpl/push_front.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/equal.hpp" #include "boost/mpl/size.hpp" #include "boost/static_assert.hpp" @@ -34,7 +34,7 @@ int main() numbers , mpl::list0_c , mpl::push_front<_,_> - , mpl::less<_,mpl::int_c<5> > + , mpl::less<_,mpl::int_<5> > >::type result; BOOST_STATIC_ASSERT(mpl::size::value == 5); diff --git a/test/count.cpp b/test/count.cpp index b99ea46..a275127 100644 --- a/test/count.cpp +++ b/test/count.cpp @@ -17,7 +17,7 @@ #include "boost/mpl/count.hpp" #include "boost/mpl/list.hpp" #include "boost/mpl/list_c.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; diff --git a/test/count_if.cpp b/test/count_if.cpp index eb0294c..03a79bc 100644 --- a/test/count_if.cpp +++ b/test/count_if.cpp @@ -17,8 +17,8 @@ #include "boost/mpl/count_if.hpp" #include "boost/mpl/list.hpp" #include "boost/mpl/list_c.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/comparison/equal_to.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/equal_to.hpp" #include "boost/type_traits/is_float.hpp" #include "boost/type_traits/is_same.hpp" #include "boost/static_assert.hpp" @@ -27,7 +27,7 @@ namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list types; typedef mpl::list_c values; diff --git a/test/find.cpp b/test/find.cpp index ca23ef7..7247b6c 100644 --- a/test/find.cpp +++ b/test/find.cpp @@ -19,7 +19,7 @@ #include "boost/mpl/list_c.hpp" #include "boost/mpl/distance.hpp" #include "boost/mpl/begin_end.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/assert_is_same.hpp" #include "boost/static_assert.hpp" diff --git a/test/find_if.cpp b/test/find_if.cpp index 315a9ec..8484783 100644 --- a/test/find_if.cpp +++ b/test/find_if.cpp @@ -26,7 +26,7 @@ namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list9::type types; typedef mpl::find_if< types, boost::is_float<_> >::type iter1; diff --git a/test/if.cpp b/test/if.cpp index 3c2a2ed..312d542 100644 --- a/test/if.cpp +++ b/test/if.cpp @@ -15,19 +15,19 @@ // without express or implied warranty. #include "boost/mpl/if.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/assert_is_same.hpp" namespace mpl = boost::mpl; int main() { - typedef mpl::if_::type t1; + typedef mpl::if_::type t1; typedef mpl::if_c::type t2; BOOST_MPL_ASSERT_IS_SAME(t1, char); BOOST_MPL_ASSERT_IS_SAME(t2, char); - typedef mpl::if_::type t3; + typedef mpl::if_::type t3; typedef mpl::if_c::type t4; BOOST_MPL_ASSERT_IS_SAME(t3, long); BOOST_MPL_ASSERT_IS_SAME(t4, long); diff --git a/test/int_c.cpp b/test/int.cpp similarity index 67% rename from test/int_c.cpp rename to test/int.cpp index 020d985..ef48967 100644 --- a/test/int_c.cpp +++ b/test/int.cpp @@ -1,5 +1,5 @@ //----------------------------------------------------------------------------- -// boost mpl/test/int_c.cpp source file +// boost mpl/test/int.cpp source file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // @@ -14,7 +14,7 @@ // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/assert_is_same.hpp" #include "boost/static_assert.hpp" #include "boost/preprocessor/repeat.hpp" @@ -24,12 +24,12 @@ namespace mpl = boost::mpl; #define INT_C_TEST(z, i, unused) \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_c::value_type, int); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_c::type, mpl::int_c); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_c::next, mpl::int_c); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_c::prior, mpl::int_c); } \ - { BOOST_STATIC_ASSERT(mpl::int_c::value == i); } \ - assert(mpl::int_c() == i); + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::value_type, int); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::type, mpl::int_); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::next, mpl::int_); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::prior, mpl::int_); } \ + { BOOST_STATIC_ASSERT(mpl::int_::value == i); } \ + assert(mpl::int_() == i); /**/ int main() diff --git a/test/is_placeholder.cpp b/test/is_placeholder.cpp index aac3b97..536b689 100644 --- a/test/is_placeholder.cpp +++ b/test/is_placeholder.cpp @@ -15,7 +15,7 @@ // without express or implied warranty. #include "boost/mpl/is_placeholder.hpp" -#include "boost/mpl/placeholder.hpp" +#include "boost/mpl/placeholders.hpp" #include "boost/preprocessor/repeat.hpp" #include "boost/preprocessor/inc.hpp" diff --git a/test/lambda.cpp b/test/lambda.cpp index 09c8683..3817b0f 100644 --- a/test/lambda.cpp +++ b/test/lambda.cpp @@ -17,8 +17,8 @@ #include "boost/mpl/logical.hpp" #include "boost/mpl/comparison.hpp" #include "boost/mpl/lambda.hpp" -#include "boost/mpl/int_c.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/int.hpp" +#include "boost/mpl/bool.hpp" #include "boost/mpl/sizeof.hpp" #include "boost/mpl/apply.hpp" @@ -35,16 +35,16 @@ struct my int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; // !(x == char) && !(x == double) && x convertible to int || sizeof(x) > 8 typedef mpl::lambda< - mpl::logical_or< - mpl::logical_and< - mpl::logical_not< boost::is_same<_1, char> > - , mpl::logical_not< boost::is_float<_1> > + mpl::or_< + mpl::and_< + mpl::not_< boost::is_same<_1, char> > + , mpl::not_< boost::is_float<_1> > > - , mpl::greater< mpl::sizeof_<_1>, mpl::int_c<8> > + , mpl::greater< mpl::sizeof_<_1>, mpl::int_<8> > > >::type f1; @@ -55,7 +55,7 @@ int main() // x == y || x == my || sizeof(x) == sizeof(y) typedef mpl::lambda< - mpl::logical_or< + mpl::or_< boost::is_same<_1, _2> , boost::is_same<_2, my> , mpl::equal_to< mpl::sizeof_<_1>, mpl::sizeof_<_2> > @@ -71,9 +71,9 @@ int main() // bind <-> lambda interaction typedef mpl::lambda< mpl::less<_1,_2> >::type pred; - typedef mpl::bind2< pred, _1, mpl::int_c<4> > f3; + typedef mpl::bind2< pred, _1, mpl::int_<4> > f3; - BOOST_STATIC_ASSERT((mpl::apply1< f3,mpl::int_c<3> >::type::value)); + BOOST_STATIC_ASSERT((mpl::apply1< f3,mpl::int_<3> >::type::value)); return 0; } diff --git a/test/logical.cpp b/test/logical.cpp index 43fab1f..3934f8f 100644 --- a/test/logical.cpp +++ b/test/logical.cpp @@ -15,33 +15,33 @@ // without express or implied warranty. #include "boost/mpl/logical.hpp" -#include "boost/mpl/bool_c.hpp" +#include "boost/mpl/bool.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; struct my; -struct true_c : mpl::true_c {}; -struct false_c : mpl::false_c {}; +struct true_ : mpl::true_ {}; +struct false_ : mpl::false_ {}; int main() { - BOOST_STATIC_ASSERT((mpl::logical_and< true_c,true_c >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_and< false_c,true_c >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_and< true_c,false_c >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_and< false_c,false_c >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_and< false_c,my >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_and< false_c,my,my >::value == false)); + BOOST_STATIC_ASSERT((mpl::and_< true_,true_ >::value == true)); + BOOST_STATIC_ASSERT((mpl::and_< false_,true_ >::value == false)); + BOOST_STATIC_ASSERT((mpl::and_< true_,false_ >::value == false)); + BOOST_STATIC_ASSERT((mpl::and_< false_,false_ >::value == false)); + BOOST_STATIC_ASSERT((mpl::and_< false_,my >::value == false)); + BOOST_STATIC_ASSERT((mpl::and_< false_,my,my >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_or< true_c,true_c >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_or< false_c,true_c >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_or< true_c,false_c >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_or< false_c,false_c >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_or< true_c,my >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_or< true_c,my,my >::value == true)); + BOOST_STATIC_ASSERT((mpl::or_< true_,true_ >::value == true)); + BOOST_STATIC_ASSERT((mpl::or_< false_,true_ >::value == true)); + BOOST_STATIC_ASSERT((mpl::or_< true_,false_ >::value == true)); + BOOST_STATIC_ASSERT((mpl::or_< false_,false_ >::value == false)); + BOOST_STATIC_ASSERT((mpl::or_< true_,my >::value == true)); + BOOST_STATIC_ASSERT((mpl::or_< true_,my,my >::value == true)); - BOOST_STATIC_ASSERT((mpl::logical_not< true_c >::value == false)); - BOOST_STATIC_ASSERT((mpl::logical_not< false_c >::value == true)); + BOOST_STATIC_ASSERT((mpl::not_< true_ >::value == false)); + BOOST_STATIC_ASSERT((mpl::not_< false_ >::value == true)); return 0; } diff --git a/test/lower_bound.cpp b/test/lower_bound.cpp index 523e8a9..1852300 100644 --- a/test/lower_bound.cpp +++ b/test/lower_bound.cpp @@ -17,8 +17,8 @@ #include "boost/mpl/lower_bound.hpp" #include "boost/mpl/distance.hpp" #include "boost/mpl/list_c.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/int.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; @@ -26,7 +26,7 @@ namespace mpl = boost::mpl; int main() { typedef mpl::list_c numbers; - typedef mpl::lower_bound< numbers, mpl::int_c<3> >::type iter; + typedef mpl::lower_bound< numbers, mpl::int_<3> >::type iter; BOOST_STATIC_ASSERT((mpl::distance< mpl::begin::type,iter >::type::value == 2)); BOOST_STATIC_ASSERT(iter::type::value == 3); return 0; diff --git a/test/next.cpp b/test/next.cpp index 586d9cb..007d1ef 100644 --- a/test/next.cpp +++ b/test/next.cpp @@ -16,16 +16,16 @@ #include "boost/mpl/next.hpp" #include "boost/mpl/prior.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/assert_is_same.hpp" namespace mpl = boost::mpl; int main() { - typedef mpl::int_c<0> _0; - typedef mpl::int_c<1> _1; - typedef mpl::int_c<2> _2; + typedef mpl::int_<0> _0; + typedef mpl::int_<1> _1; + typedef mpl::int_<2> _2; BOOST_MPL_ASSERT_IS_SAME(mpl::next<_0>::type, _1); BOOST_MPL_ASSERT_IS_SAME(mpl::next<_1>::type, _2); diff --git a/test/replace_if.cpp b/test/replace_if.cpp index 936dce0..ef82a4b 100644 --- a/test/replace_if.cpp +++ b/test/replace_if.cpp @@ -16,19 +16,19 @@ #include "boost/mpl/replace_if.hpp" #include "boost/mpl/list_c.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/int.hpp" #include "boost/mpl/equal.hpp" -#include "boost/mpl/comparison/greater.hpp" -#include "boost/mpl/comparison/equal_to.hpp" +#include "boost/mpl/greater.hpp" +#include "boost/mpl/equal_to.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list_c::type numbers; - typedef mpl::replace_if< numbers, mpl::gt<4>, mpl::int_c<0> >::type result; + typedef mpl::replace_if< numbers, mpl::gt<4>, mpl::int_<0> >::type result; typedef mpl::list_c::type answer; BOOST_STATIC_ASSERT((mpl::equal< answer,result,mpl::equal_to<_,_> >::type::value)); diff --git a/test/reverse.cpp b/test/reverse.cpp index 47986e3..5fdae93 100644 --- a/test/reverse.cpp +++ b/test/reverse.cpp @@ -18,14 +18,14 @@ #include "boost/mpl/list_c.hpp" #include "boost/mpl/range_c.hpp" #include "boost/mpl/equal.hpp" -#include "boost/mpl/comparison/equal_to.hpp" +#include "boost/mpl/equal_to.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list_c::type numbers; typedef mpl::reverse< numbers >::type result; diff --git a/test/transform.cpp b/test/transform.cpp index 7fb86e4..2e53026 100644 --- a/test/transform.cpp +++ b/test/transform.cpp @@ -24,7 +24,7 @@ namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list types; typedef mpl::list pointers; diff --git a/test/unique.cpp b/test/unique.cpp index c50ba70..b05ed30 100644 --- a/test/unique.cpp +++ b/test/unique.cpp @@ -23,7 +23,7 @@ namespace mpl = boost::mpl; int main() { - using namespace mpl::placeholder; + using namespace mpl::placeholders; typedef mpl::list::type types; typedef mpl::unique::type result; diff --git a/test/upper_bound.cpp b/test/upper_bound.cpp index 00b7e19..66396c4 100644 --- a/test/upper_bound.cpp +++ b/test/upper_bound.cpp @@ -17,8 +17,8 @@ #include "boost/mpl/upper_bound.hpp" #include "boost/mpl/distance.hpp" #include "boost/mpl/list_c.hpp" -#include "boost/mpl/comparison/less.hpp" -#include "boost/mpl/int_c.hpp" +#include "boost/mpl/less.hpp" +#include "boost/mpl/int.hpp" #include "boost/static_assert.hpp" namespace mpl = boost::mpl; @@ -26,7 +26,7 @@ namespace mpl = boost::mpl; int main() { typedef mpl::list_c numbers; - typedef mpl::upper_bound< numbers, mpl::int_c<3> >::type iter; + typedef mpl::upper_bound< numbers, mpl::int_<3> >::type iter; BOOST_STATIC_ASSERT((mpl::distance< mpl::begin::type,iter >::type::value == 5)); BOOST_STATIC_ASSERT(iter::type::value == 5); return 0; diff --git a/test/zip_view.cpp b/test/zip_view.cpp index 192505a..965bef9 100644 --- a/test/zip_view.cpp +++ b/test/zip_view.cpp @@ -21,7 +21,7 @@ #include "boost/mpl/list.hpp" #include "boost/mpl/at.hpp" #include "boost/mpl/equal.hpp" -#include "boost/mpl/comparison/equal_to.hpp" +#include "boost/mpl/equal_to.hpp" #include "boost/mpl/math/is_even.hpp" #include "boost/static_assert.hpp"