329 lines
11 KiB
C++
329 lines
11 KiB
C++
|
|
// 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 the main "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;
|
|
};
|
|
|
|
}}
|
|
|