File indexing completed on 2025-01-18 09:41:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #if !defined(BOOST_MPL_PREPROCESSING_MODE)
0017 # include <boost/mpl/integral_c.hpp>
0018 # include <boost/mpl/aux_/value_wknd.hpp>
0019 #endif
0020
0021 #if !defined(AUX778076_OP_PREFIX)
0022 # define AUX778076_OP_PREFIX AUX778076_OP_NAME
0023 #endif
0024
0025 #define AUX778076_OP_ARITY 2
0026
0027 #include <boost/mpl/aux_/numeric_op.hpp>
0028 #include <boost/mpl/aux_/config/static_constant.hpp>
0029 #include <boost/mpl/aux_/config/use_preprocessed.hpp>
0030
0031 #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
0032 && !defined(BOOST_MPL_PREPROCESSING_MODE)
0033
0034 # define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
0035 # include <boost/mpl/aux_/include_preprocessed.hpp>
0036
0037 #else
0038
0039 # include <boost/mpl/aux_/config/integral.hpp>
0040 # include <boost/preprocessor/cat.hpp>
0041
0042 namespace boost { namespace mpl {
0043
0044 #if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
0045 namespace aux {
0046 template< typename T, typename Shift, T n, Shift s >
0047 struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
0048 {
0049 BOOST_STATIC_CONSTANT(T, value = (n AUX778076_OP_TOKEN s));
0050 typedef integral_c<T,value> type;
0051 };
0052 }
0053 #endif
0054
0055 template<>
0056 struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
0057 {
0058 template< typename N, typename S > struct apply
0059 #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
0060 : integral_c<
0061 typename N::value_type
0062 , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
0063 AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(S)::value
0064 )
0065 >
0066 #else
0067 : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
0068 typename N::value_type
0069 , typename S::value_type
0070 , N::value
0071 , S::value
0072 >::type
0073 #endif
0074 {
0075 };
0076 };
0077
0078 }}
0079
0080 #endif
0081
0082 #undef AUX778076_OP_TAG_NAME
0083 #undef AUX778076_OP_IMPL_NAME
0084 #undef AUX778076_OP_ARITY
0085 #undef AUX778076_OP_PREFIX
0086 #undef AUX778076_OP_NAME
0087 #undef AUX778076_OP_TOKEN