/Src/Dependencies/Boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
http://hadesmem.googlecode.com/ · C++ Header · 456 lines · 371 code · 75 blank · 10 comment · 0 complexity · 172bdd639c7bee42302960cbeab04d6e MD5 · raw file
- // Copyright Aleksey Gurtovoy 2000-2008
- //
- // 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 the main "apply_wrap.hpp" header
- // -- DO NOT modify by hand!
- namespace boost { namespace mpl {
- template<
- int N, typename F
- >
- struct apply_wrap_impl0;
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 0
- , F
-
- >
- {
- typedef typename F::template apply<
-
- /// since the defaults are "lost", we have to pass *something* even for nullary
- /// metafunction classes
- na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 1
- , F
-
- >
- {
- typedef typename F::template apply<
-
- na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 2
- , F
-
- >
- {
- typedef typename F::template apply<
-
- na, na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 3
- , F
-
- >
- {
- typedef typename F::template apply<
-
- na, na, na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 4
- , F
-
- >
- {
- typedef typename F::template apply<
-
- na, na, na, na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap_impl0<
- 5
- , F
-
- >
- {
- typedef typename F::template apply<
-
- na, na, na, na, na
- > type;
- };
- template<
- typename F
- >
- struct apply_wrap0
- : apply_wrap_impl0<
- ::boost::mpl::aux::arity< F,0 >::value
- , F
-
- >::type
- {
- };
- template<
- int N, typename F, typename T1
- >
- struct apply_wrap_impl1;
- template<
- typename F, typename T1
- >
- struct apply_wrap_impl1<
- 1
- , F
- , T1
- >
- {
- typedef typename F::template apply<
- T1
- > type;
- };
- template<
- typename F, typename T1
- >
- struct apply_wrap_impl1<
- 2
- , F
- , T1
- >
- {
- typedef typename F::template apply<
- T1
- , na
- > type;
- };
- template<
- typename F, typename T1
- >
- struct apply_wrap_impl1<
- 3
- , F
- , T1
- >
- {
- typedef typename F::template apply<
- T1
- , na, na
- > type;
- };
- template<
- typename F, typename T1
- >
- struct apply_wrap_impl1<
- 4
- , F
- , T1
- >
- {
- typedef typename F::template apply<
- T1
- , na, na, na
- > type;
- };
- template<
- typename F, typename T1
- >
- struct apply_wrap_impl1<
- 5
- , F
- , T1
- >
- {
- typedef typename F::template apply<
- T1
- , na, na, na, na
- > type;
- };
- template<
- typename F, typename T1
- >
- struct apply_wrap1
- : apply_wrap_impl1<
- ::boost::mpl::aux::arity< F,1 >::value
- , F
- , T1
- >::type
- {
- };
- template<
- int N, typename F, typename T1, typename T2
- >
- struct apply_wrap_impl2;
- template<
- typename F, typename T1, typename T2
- >
- struct apply_wrap_impl2<
- 2
- , F
- , T1, T2
- >
- {
- typedef typename F::template apply<
- T1, T2
- > type;
- };
- template<
- typename F, typename T1, typename T2
- >
- struct apply_wrap_impl2<
- 3
- , F
- , T1, T2
- >
- {
- typedef typename F::template apply<
- T1, T2
- , na
- > type;
- };
- template<
- typename F, typename T1, typename T2
- >
- struct apply_wrap_impl2<
- 4
- , F
- , T1, T2
- >
- {
- typedef typename F::template apply<
- T1, T2
- , na, na
- > type;
- };
- template<
- typename F, typename T1, typename T2
- >
- struct apply_wrap_impl2<
- 5
- , F
- , T1, T2
- >
- {
- typedef typename F::template apply<
- T1, T2
- , na, na, na
- > type;
- };
- template<
- typename F, typename T1, typename T2
- >
- struct apply_wrap2
- : apply_wrap_impl2<
- ::boost::mpl::aux::arity< F,2 >::value
- , F
- , T1, T2
- >::type
- {
- };
- template<
- int N, typename F, typename T1, typename T2, typename T3
- >
- struct apply_wrap_impl3;
- template<
- typename F, typename T1, typename T2, typename T3
- >
- struct apply_wrap_impl3<
- 3
- , F
- , T1, T2, T3
- >
- {
- typedef typename F::template apply<
- T1, T2, T3
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3
- >
- struct apply_wrap_impl3<
- 4
- , F
- , T1, T2, T3
- >
- {
- typedef typename F::template apply<
- T1, T2, T3
- , na
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3
- >
- struct apply_wrap_impl3<
- 5
- , F
- , T1, T2, T3
- >
- {
- typedef typename F::template apply<
- T1, T2, T3
- , na, na
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3
- >
- struct apply_wrap3
- : apply_wrap_impl3<
- ::boost::mpl::aux::arity< F,3 >::value
- , F
- , T1, T2, T3
- >::type
- {
- };
- template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- >
- struct apply_wrap_impl4;
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
- struct apply_wrap_impl4<
- 4
- , F
- , T1, T2, T3, T4
- >
- {
- typedef typename F::template apply<
- T1, T2, T3, T4
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
- struct apply_wrap_impl4<
- 5
- , F
- , T1, T2, T3, T4
- >
- {
- typedef typename F::template apply<
- T1, T2, T3, T4
- , na
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
- struct apply_wrap4
- : apply_wrap_impl4<
- ::boost::mpl::aux::arity< F,4 >::value
- , F
- , T1, T2, T3, T4
- >::type
- {
- };
- template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct apply_wrap_impl5;
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct apply_wrap_impl5<
- 5
- , F
- , T1, T2, T3, T4, T5
- >
- {
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
- > type;
- };
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct apply_wrap5
- : apply_wrap_impl5<
- ::boost::mpl::aux::arity< F,5 >::value
- , F
- , T1, T2, T3, T4, T5
- >::type
- {
- };
- }}