Click here to Skip to main content
15,886,017 members
Articles / Programming Languages / C++

Napkin

Rate me:
Please Sign up or sign in to vote.
4.38/5 (4 votes)
12 Mar 20063 min read 39K   66   11  
A simple logging library using generic object to streams
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
	>
	{
	};

} }

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Japan Japan
I am worried about my poor English...

Comments and Discussions