| |
| // 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 "ndnboost/mpl/set_c.hpp" header |
| // -- DO NOT modify by hand! |
| |
| namespace ndnboost { namespace mpl { |
| |
| namespace aux { |
| template< int N > |
| struct set_c_chooser; |
| |
| } |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<0> |
| { |
| 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 result_ |
| { |
| typedef typename set0_c< |
| T |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<1> |
| { |
| 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 result_ |
| { |
| typedef typename set1_c< |
| T, C0 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<2> |
| { |
| 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 result_ |
| { |
| typedef typename set2_c< |
| T, C0, C1 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<3> |
| { |
| 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 result_ |
| { |
| typedef typename set3_c< |
| T, C0, C1, C2 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<4> |
| { |
| 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 result_ |
| { |
| typedef typename set4_c< |
| T, C0, C1, C2, C3 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<5> |
| { |
| 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 result_ |
| { |
| typedef typename set5_c< |
| T, C0, C1, C2, C3, C4 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<6> |
| { |
| 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 result_ |
| { |
| typedef typename set6_c< |
| T, C0, C1, C2, C3, C4, C5 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<7> |
| { |
| 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 result_ |
| { |
| typedef typename set7_c< |
| T, C0, C1, C2, C3, C4, C5, C6 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<8> |
| { |
| 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 result_ |
| { |
| typedef typename set8_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<9> |
| { |
| 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 result_ |
| { |
| typedef typename set9_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<10> |
| { |
| 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 result_ |
| { |
| typedef typename set10_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<11> |
| { |
| 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 result_ |
| { |
| typedef typename set11_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<12> |
| { |
| 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 result_ |
| { |
| typedef typename set12_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<13> |
| { |
| 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 result_ |
| { |
| typedef typename set13_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<14> |
| { |
| 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 result_ |
| { |
| typedef typename set14_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<15> |
| { |
| 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 result_ |
| { |
| typedef typename set15_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<16> |
| { |
| 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 result_ |
| { |
| typedef typename set16_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<17> |
| { |
| 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 result_ |
| { |
| typedef typename set17_c< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 |
| >::type type; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<18> |
| { |
| 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 result_ |
| { |
| 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; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<19> |
| { |
| 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 result_ |
| { |
| 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; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template<> |
| struct set_c_chooser<20> |
| { |
| 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 result_ |
| { |
| 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; |
| |
| }; |
| }; |
| |
| } // namespace aux |
| |
| namespace aux { |
| |
| template< long C > |
| struct is_set_c_arg |
| { |
| BOOST_STATIC_CONSTANT(bool, value = true); |
| }; |
| |
| template<> |
| struct is_set_c_arg<LONG_MAX> |
| { |
| BOOST_STATIC_CONSTANT(bool, value = false); |
| }; |
| |
| template< |
| 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, long C20 |
| > |
| struct set_c_count_args |
| { |
| BOOST_STATIC_CONSTANT(int, value = |
| is_set_c_arg<C1>::value + is_set_c_arg<C2>::value |
| + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value |
| + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value |
| + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value |
| + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value |
| + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value |
| + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value |
| + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value |
| + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value |
| + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value |
| ); |
| |
| }; |
| |
| 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_impl |
| { |
| typedef aux::set_c_count_args< |
| C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 |
| > arg_num_; |
| |
| typedef typename aux::set_c_chooser< arg_num_::value > |
| ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; |
| }; |
| |
| } // namespace aux |
| |
| 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 |
| : aux::set_c_impl< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 |
| >::type |
| { |
| typedef typename aux::set_c_impl< |
| T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 |
| >::type type; |
| }; |
| |
| }} |
| |