namespace pstade { namespace biscuit {
template<
class P0 = boost::mpl::void_ , class P1 = boost::mpl::void_ , class P2 = boost::mpl::void_ , class P3 = boost::mpl::void_ , class P4 = boost::mpl::void_ , class P5 = boost::mpl::void_ , class P6 = boost::mpl::void_ , class P7 = boost::mpl::void_ , class P8 = boost::mpl::void_ , class P9 = boost::mpl::void_ , class P10 = boost::mpl::void_ , class P11 = boost::mpl::void_ , class P12 = boost::mpl::void_ , class P13 = boost::mpl::void_ , class P14 = boost::mpl::void_ , class P15 = boost::mpl::void_ , class P16 = boost::mpl::void_ , class P17 = boost::mpl::void_ , class P18 = boost::mpl::void_ , class P19 = boost::mpl::void_
>
struct and_ :
and_20<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19
>
{
};
template<
>
struct and_<
> :
and_0<
>
{
};
template<
class P0
>
struct and_<
P0
> :
and_1<
P0
>
{
};
template<
class P0 , class P1
>
struct and_<
P0 , P1
> :
and_2<
P0 , P1
>
{
};
template<
class P0 , class P1 , class P2
>
struct and_<
P0 , P1 , P2
> :
and_3<
P0 , P1 , P2
>
{
};
template<
class P0 , class P1 , class P2 , class P3
>
struct and_<
P0 , P1 , P2 , P3
> :
and_4<
P0 , P1 , P2 , P3
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4
>
struct and_<
P0 , P1 , P2 , P3 , P4
> :
and_5<
P0 , P1 , P2 , P3 , P4
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5
> :
and_6<
P0 , P1 , P2 , P3 , P4 , P5
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6
> :
and_7<
P0 , P1 , P2 , P3 , P4 , P5 , P6
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7
> :
and_8<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8
> :
and_9<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9
> :
and_10<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10
> :
and_11<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11
> :
and_12<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12
> :
and_13<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13
> :
and_14<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14
> :
and_15<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15
> :
and_16<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16
> :
and_17<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17
> :
and_18<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17
>
{
};
template<
class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18
>
struct and_<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18
> :
and_19<
P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18
>
{
};
} }