# Boost Typeof Library test Jamfile

subproject libs/typeof/test ;

# bring in rules for testing
import testing ;

test-suite "typeof" 
	:  
	[ compile type.cpp : <define>BOOST_TYPEOF_NATIVE : type_native ]
	[ compile type.cpp : <define>BOOST_TYPEOF_COMPLIANT : type_emulation ]

	[ compile template_type.cpp : <define>BOOST_TYPEOF_NATIVE : template_type_native ]
	[ compile template_type.cpp : <define>BOOST_TYPEOF_COMPLIANT : template_type_emulation ]

	[ compile template_int.cpp : <define>BOOST_TYPEOF_NATIVE : template_int_native ]
	[ compile template_int.cpp : <define>BOOST_TYPEOF_COMPLIANT : template_int_emulation ]

	[ compile template_tpl.cpp : <define>BOOST_TYPEOF_NATIVE : template_tpl_native ]
	[ compile template_tpl.cpp : <define>BOOST_TYPEOF_COMPLIANT : template_tpl_emulation ]

	[ compile modifiers.cpp : <define>BOOST_TYPEOF_NATIVE : modifiers_native ]
	[ compile modifiers.cpp : <define>BOOST_TYPEOF_COMPLIANT : modifiers_emulation ]

	[ compile function.cpp : <define>BOOST_TYPEOF_NATIVE : function_native ]
	[ compile function.cpp : <define>BOOST_TYPEOF_COMPLIANT : function_emulation ]

	[ compile function_ptr.cpp : <define>BOOST_TYPEOF_NATIVE : function_ptr_native ]
	[ compile function_ptr.cpp : <define>BOOST_TYPEOF_COMPLIANT : function_ptr_emulation ]

	[ compile function_ref.cpp : <define>BOOST_TYPEOF_NATIVE : function_ref_native ]
	[ compile function_ref.cpp : <define>BOOST_TYPEOF_COMPLIANT : function_ref_emulation ]

	[ compile member_function.cpp : <define>BOOST_TYPEOF_NATIVE : member_function_native ]
	[ compile member_function.cpp : <define>BOOST_TYPEOF_COMPLIANT : member_function_emulation ]

	[ compile data_member.cpp : <define>BOOST_TYPEOF_NATIVE : data_member_native ]
	[ compile data_member.cpp : <define>BOOST_TYPEOF_COMPLIANT : data_member_emulation ]

	[ compile lvalue.cpp : <define>BOOST_TYPEOF_NATIVE : lvalue_native ]
	[ compile lvalue.cpp : <define>BOOST_TYPEOF_COMPLIANT : lvalue_emulation ]
	;
