diff options
author | Stefan Radomski <github@mintwerk.de> | 2017-06-26 16:08:31 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2017-06-26 16:08:31 (GMT) |
commit | d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6 (patch) | |
tree | 113ea6391c0090cdf56c4d7b216a0ba34e4fd26c /contrib/src/boost/mpl/arg.hpp | |
parent | b1f4aa596db8a0a83e20291b4119eb2febdb5123 (diff) | |
download | uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.zip uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.tar.gz uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.tar.bz2 |
New default microstepper implementation
Diffstat (limited to 'contrib/src/boost/mpl/arg.hpp')
-rw-r--r-- | contrib/src/boost/mpl/arg.hpp | 262 |
1 files changed, 131 insertions, 131 deletions
diff --git a/contrib/src/boost/mpl/arg.hpp b/contrib/src/boost/mpl/arg.hpp index 5d1db74..f51adfa 100644 --- a/contrib/src/boost/mpl/arg.hpp +++ b/contrib/src/boost/mpl/arg.hpp @@ -1,131 +1,131 @@ -
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_ARG_HPP_INCLUDED
-#define BOOST_MPL_ARG_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/arg_fwd.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/na_assert.hpp>
-# include <boost/mpl/aux_/arity_spec.hpp>
-# include <boost/mpl/aux_/arg_typedef.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER arg.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/config/lambda.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// local macro, #undef-ined at the end of the header
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- /**/
-#else
-# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- ) \
- /**/
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/arg.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-# undef AUX778076_ARG_N_DEFAULT_PARAMS
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_ARG_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if i_ > 0
-
-template<> struct arg<i_>
-{
- BOOST_STATIC_CONSTANT(int, value = i_);
- typedef arg<BOOST_PP_INC(i_)> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- typedef BOOST_PP_CAT(U,i_) type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-#else
-
-template<> struct arg<-1>
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-#endif // i_ > 0
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
+ +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_ARG_HPP_INCLUDED +#define BOOST_MPL_ARG_HPP_INCLUDED + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include <boost/mpl/arg_fwd.hpp> +# include <boost/mpl/aux_/na.hpp> +# include <boost/mpl/aux_/na_assert.hpp> +# include <boost/mpl/aux_/arity_spec.hpp> +# include <boost/mpl/aux_/arg_typedef.hpp> +#endif + +#include <boost/mpl/aux_/config/static_constant.hpp> +#include <boost/mpl/aux_/config/use_preprocessed.hpp> + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER arg.hpp +# include <boost/mpl/aux_/include_preprocessed.hpp> + +#else + +# include <boost/mpl/limits/arity.hpp> +# include <boost/mpl/aux_/preprocessor/default_params.hpp> +# include <boost/mpl/aux_/preprocessor/params.hpp> +# include <boost/mpl/aux_/config/lambda.hpp> +# include <boost/mpl/aux_/config/dtp.hpp> +# include <boost/mpl/aux_/nttp_decl.hpp> + +# include <boost/preprocessor/iterate.hpp> +# include <boost/preprocessor/inc.hpp> +# include <boost/preprocessor/cat.hpp> + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +// local macro, #undef-ined at the end of the header +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + /**/ +#else +# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + ) \ + /**/ +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/arg.hpp>)) +#include BOOST_PP_ITERATE() + + +# undef AUX778076_ARG_N_DEFAULT_PARAMS + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_ARG_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +#if i_ > 0 + +template<> struct arg<i_> +{ + BOOST_STATIC_CONSTANT(int, value = i_); + typedef arg<BOOST_PP_INC(i_)> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + typedef BOOST_PP_CAT(U,i_) type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +#else + +template<> struct arg<-1> +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +#endif // i_ > 0 + +#undef i_ +#endif // BOOST_PP_IS_ITERATING |