diff options
Diffstat (limited to 'contrib/src/boost/mpl/aux_/preprocessed/plain')
47 files changed, 8383 insertions, 8383 deletions
diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp index 2d65040..26de94c 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp @@ -1,97 +1,97 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior<iter0>::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior<iter0>::type iter1; + typedef typename prior<iter1>::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior<iter0>::type iter1; + typedef typename prior<iter1>::type iter2; + typedef typename prior<iter2>::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior<iter0>::type iter1; + typedef typename prior<iter1>::type iter2; + typedef typename prior<iter2>::type iter3; + typedef typename prior<iter3>::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp index 9762f7b..b137cc7 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp @@ -1,97 +1,97 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next<iter0>::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next<iter0>::type iter1; + typedef typename next<iter1>::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next<iter0>::type iter1; + typedef typename next<iter1>::type iter2; + typedef typename next<iter2>::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next<iter0>::type iter1; + typedef typename next<iter1>::type iter2; + typedef typename next<iter2>::type iter3; + typedef typename next<iter3>::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/and.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/and.hpp index aae95c5..163913f 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/and.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/and.hpp @@ -1,64 +1,64 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-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_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_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_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +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_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_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_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply.hpp index d18329c..89d9e4b 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply.hpp @@ -1,139 +1,139 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda<F>::type + + > +{ +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0<F> +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda<F>::type + , T1 + > +{ +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda<F>::type + , T1, T2 + > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda<F>::type + , T1, T2, T3 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda<F>::type + , T1, T2, T3, T4 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda<F>::type + , T1, T2, T3, T4, T5 + > +{ +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp index b1c5573..b2ed5d5 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp @@ -1,52 +1,52 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp index e6de047..34d51a1 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp @@ -1,84 +1,84 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
- : F::apply
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply<F>::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply<T1> +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/arg.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/arg.hpp index a77b8a2..6f2f8a8 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/arg.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/arg.hpp @@ -1,123 +1,123 @@ -
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-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<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+ +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +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< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp index 74072c9..b070232 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp @@ -1,440 +1,440 @@ -
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
+ +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0<F>, U1, U2, U3, U4, U5 + > +{ + typedef bind0<F> f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0<F> +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/bind.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/bind.hpp index 888fbc6..0e9513a 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/bind.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/bind.hpp @@ -1,561 +1,561 @@ -
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
+ +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0<F>, U1, U2, U3, U4, U5 + > +{ + typedef bind0<F> f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0<F> +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp index e47dd92..c4a5060 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp @@ -1,52 +1,52 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitand.hpp index 31aa9a8..ee40fb3 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitand.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitand.hpp @@ -1,142 +1,142 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag<N1>::type + , typename bitand_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitor.hpp index 08e0fec..1e28d3b 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitor.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitor.hpp @@ -1,142 +1,142 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag<N1>::type + , typename bitor_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitxor.hpp index b2a74ea..2ba879d 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/bitxor.hpp @@ -1,142 +1,142 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag<N1>::type + , typename bitxor_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/deque.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/deque.hpp index ede9716..de67398 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/deque.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/deque.hpp @@ -1,323 +1,323 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1<T0> +{ + typedef typename vector1<T0>::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/divides.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/divides.hpp index e2322d7..f365d62 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/divides.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/divides.hpp @@ -1,141 +1,141 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag<N1>::type + , typename divides_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/equal_to.hpp index d108db4..bbc6bf0 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/equal_to.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag<N1>::type + , typename equal_to_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp index 6d94f48..9e7a293 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp @@ -1,180 +1,180 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; + typedef typename mpl::next<iter0>::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; + typedef typename mpl::next<iter1>::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3; + typedef typename mpl::next<iter2>::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next<First>::type + , Last + , typename apply2<ForwardOp,State, typename deref<First>::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp index 78cb47c..bf81873 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp @@ -1,554 +1,554 @@ -
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
+ +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda<T>::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg<N>, Tag > +{ + typedef true_ is_le; + typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect<result_> type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0<F> + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect<result_> type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F<T1> + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect<result_> type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect<result_> type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect<result_> type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect<result_> type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect<T>, Tag > +{ + typedef false_ is_le; + typedef mpl::protect<T> result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/greater.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/greater.hpp index 32f5165..38c8bb3 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/greater.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/greater.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag<N1>::type + , typename greater_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp index 84da0aa..2aa8370 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag<N1>::type + , typename greater_equal_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/inherit.hpp index 35eb35f..8b34e71 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/inherit.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/inherit.hpp @@ -1,125 +1,125 @@ -
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
+ +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp index 233e7dd..6951795 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp @@ -1,133 +1,133 @@ -
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 2001-2002
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
+ +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl<false> +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp index f633d1b..805790e 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp @@ -1,180 +1,180 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next<iter0>::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next<iter1>::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next<iter2>::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next<First>::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp index 7786a11..f8f109c 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp @@ -1,228 +1,228 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder<T> is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect<bind_>, bind_ > + , identity<F> + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect<bind_>, bind_ > + , identity<F> + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect<bind_>, bind_ > + , identity<F> + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect<bind_>, bind_ > + , identity<F> + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect<bind_>, bind_ > + , identity<F> + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity<T>::type arity_; + typedef typename aux::lambda_impl<arity_> + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda<T>::is_le +{ +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/less.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/less.hpp index a79d45b..928d0e3 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/less.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/less.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag<N1>::type + , typename less_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/less_equal.hpp index 1a647e5..364cd96 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/less_equal.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag<N1>::type + , typename less_equal_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/list.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/list.hpp index 1dcd58b..4e8ad53 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/list.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/list.hpp @@ -1,323 +1,323 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1<T0> +{ + typedef typename list1<T0>::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/list_c.hpp index 578474e..0b48a7f 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/list_c.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/list_c.hpp @@ -1,328 +1,328 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c<T> +{ + typedef typename list0_c<T>::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/map.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/map.hpp index 2f22291..837e013 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/map.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/map.hpp @@ -1,323 +1,323 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1<T0> +{ + typedef typename map1<T0>::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/minus.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/minus.hpp index 394e904..0b8b5ce 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/minus.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/minus.hpp @@ -1,141 +1,141 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag<N1>::type + , typename minus_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/modulus.hpp index 4d7e5d9..6a64e49 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/modulus.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/modulus.hpp @@ -1,99 +1,99 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag<N1>::type + , typename modulus_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp index 9344fab..c08d7f0 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp @@ -1,92 +1,92 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag<N1>::type + , typename not_equal_to_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/or.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/or.hpp index 35136b0..986b2e0 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/or.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/or.hpp @@ -1,64 +1,64 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-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_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_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_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +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_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_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_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/placeholders.hpp index df5cb1d..ff97364 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -1,105 +1,105 @@ -
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
+ +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/plus.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/plus.hpp index 461d470..ed2e432 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/plus.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/plus.hpp @@ -1,141 +1,141 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag<N1>::type + , typename plus_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/quote.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/quote.hpp index 4b4e539..d7d0420 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/quote.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/quote.hpp @@ -1,123 +1,123 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
- : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >
-
- {
- };
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F<U1> + , aux::has_type< F<U1> >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp index 1c4364a..c468684 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp @@ -1,231 +1,231 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next<First>::type + , Last + , typename apply2<ForwardOp,State, typename deref<First>::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref<First>::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp index f06c88b..658f92a 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp @@ -1,231 +1,231 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next<iter0>::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next<iter1>::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next<iter2>::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next<iter3>::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next<First>::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/set.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/set.hpp index b7e3f0b..5721922 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/set.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/set.hpp @@ -1,323 +1,323 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1<T0> +{ + typedef typename set1<T0>::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/set_c.hpp index acdf68b..cbeb932 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/set_c.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/set_c.hpp @@ -1,328 +1,328 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c<T> +{ + typedef typename set0_c<T>::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_left.hpp index 376c5d5..cf9c837 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_left.hpp @@ -1,97 +1,97 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag<N1>::type + , typename shift_left_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_right.hpp index 2abc42a..477229f 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/shift_right.hpp @@ -1,97 +1,97 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 2003
-//
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag<N1>::type + , typename shift_right_tag<N2>::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/template_arity.hpp index 03f2dbd..a23fc23 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/template_arity.hpp @@ -1,11 +1,11 @@ -
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
+ +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/times.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/times.hpp index 685f246..ca88d40 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/times.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/times.hpp @@ -1,141 +1,141 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag<N1>::type + , typename times_tag<N2>::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp index 7f8c577..2194ce9 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp @@ -1,94 +1,94 @@ -
-// Copyright Aleksey Gurtovoy 2002-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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2002-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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size<Args>::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/vector.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/vector.hpp index d1da8b1..bfa9565 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/vector.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/vector.hpp @@ -1,323 +1,323 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1<T0> +{ + typedef typename vector1<T0>::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/contrib/src/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/contrib/src/boost/mpl/aux_/preprocessed/plain/vector_c.hpp index ce33340..0f1560d 100644 --- a/contrib/src/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +++ b/contrib/src/boost/mpl/aux_/preprocessed/plain/vector_c.hpp @@ -1,309 +1,309 @@ -
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
+ +// Copyright Aleksey Gurtovoy 2000-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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c<T> +{ + typedef typename vector0_c<T>::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + |