forked from boostorg/typeof
moved type, integral, template template params into separate files
[SVN r2478]
This commit is contained in:
1 parent
634d010810
commit
9a74a20365
26 files changed
+344
-207
No files matched your search
@@ -21,6 +21,7 @@
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="C:\boost\boost_1_32_0;..\..\..\.."
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
GeneratePreprocessedFile="0"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
@@ -127,69 +128,91 @@
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\test_compliant.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
GeneratePreprocessedFile="0"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\concatenate.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\config.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\encode_decode.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\increment_registration_group.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\int_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\limit_size.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\lvalue_typeof.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\modifiers.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\odr.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\pointers_data_members.hpp">
|
||||
RelativePath="..\..\..\..\boost\typeof\integral_template_param.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\register_functions.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\register_functions_iterate.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\register_fundamental.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\register_integral.hpp">
|
||||
RelativePath="..\..\..\..\boost\typeof\template_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\register_mem_functions.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\template_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\type_encoding.hpp">
|
||||
RelativePath="..\..\..\..\boost\typeof\type_template_param.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\typeof.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\typeof_impl.hpp">
|
||||
</File>
|
||||
<Filter
|
||||
Name="compliant"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\concatenate.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\encode_decode.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\int_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\integral_template_param.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\limit_size.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\lvalue_typeof.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\modifiers.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\pointers_data_members.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\register_functions_iterate.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\register_mem_functions.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\template_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\template_template_param.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\type_encoding.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\type_template_param.hpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\boost\typeof\compliant\typeof_impl.hpp">
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="spirit"
|
||||
|
||||
+18
-16
@@ -54,6 +54,24 @@ struct typeof_test
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef BOOST_TYPEOF_COMPLIANT
|
||||
#pragma message("template template encoding...")
|
||||
|
||||
namespace template_template {
|
||||
template<template<typename,unsigned int> class P0,int P1>
|
||||
struct tt_test {};
|
||||
|
||||
template<typename A,unsigned int B>
|
||||
struct C {};
|
||||
}
|
||||
|
||||
BOOST_TYPEOF_REGISTER_TEMPLATE_X(template_template::tt_test,(BOOST_TYPEOF_TEMPLATE( (typename)(unsigned int) ))(int))
|
||||
BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE(template_template::C,(typename)(unsigned int))
|
||||
|
||||
|
||||
BOOST_STATIC_ASSERT((typeof_test<template_template::tt_test<template_template::C,4> >::value));
|
||||
#endif
|
||||
|
||||
#pragma message("modifiers...")
|
||||
|
||||
BOOST_STATIC_ASSERT(typeof_test<int*>::value);
|
||||
@@ -99,22 +117,6 @@ BOOST_TYPEOF_REGISTER_TEMPLATE_X(with_integrals,
|
||||
BOOST_STATIC_ASSERT((typeof_test<with_integrals<int, 5, 4, -3, 2, true, false, -1, 5> >::value));
|
||||
BOOST_STATIC_ASSERT((typeof_test<with_integrals<int, 1, 1, 0, ULONG_MAX, false, true, -1, 0> >::value));
|
||||
|
||||
#ifdef BOOST_TYPEOF_COMPLIANT
|
||||
#pragma message("template template encoding...")
|
||||
|
||||
namespace template_template {
|
||||
template<template<typename,unsigned int> class P0,int P1>
|
||||
struct tt_test {};
|
||||
|
||||
template<typename A,unsigned int B>
|
||||
struct C {};
|
||||
}
|
||||
|
||||
BOOST_TYPEOF_REGISTER_TEMPLATE_X(template_template::tt_test,(BOOST_TYPEOF_TEMPLATE( (typename)(unsigned int) ))(int))
|
||||
BOOST_TYPEOF_REGISTER_TEMPLATE_X(template_template::C,(typename)(unsigned int))
|
||||
BOOST_STATIC_ASSERT((typeof_test<template_template::tt_test<template_template::C,4> >::value));
|
||||
#endif
|
||||
|
||||
#pragma message("namespace-level function pointers...")
|
||||
BOOST_STATIC_ASSERT(typeof_test<double(*)()>::value);
|
||||
BOOST_STATIC_ASSERT(typeof_test<double(*)(int, double, short, char*, bool, char, float, long, unsigned short)>::value);
|
||||
|
||||
Reference in new issue
Block a user