moved type, integral, template template params into separate files

[SVN r2478]
This commit is contained in:
Arkadiy Vertleyb committed 2005-02-04 03:14:19 +00:00
1 parent 634d010810
commit 9a74a20365
26 files changed
+344 -207

No files matched your search

+59 -36
View File
@@ -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
View File
@@ -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);