forked from boostorg/endian
Change name of endianness enum to order. This is often used with namespace qualifier, and endian::order is shorter and reads better than endian::endianness.
Continue infrastructure and test updates.
This commit is contained in:
@ -44,11 +44,11 @@ namespace endian
|
||||
|
||||
template <class T>
|
||||
inline T big(T x);
|
||||
// Return: x if native endianness is big, otherwise reorder(x);
|
||||
// Return: x if native endian order is big, otherwise reorder(x);
|
||||
|
||||
template <class T>
|
||||
inline T little(T x);
|
||||
// Return: x if native endianness is little, otherwise reorder(x);
|
||||
// Return: x if native endian order is little, otherwise reorder(x);
|
||||
|
||||
//----------------------------------- implementation -----------------------------------//
|
||||
// -- reorder implementation approach suggested by tymofey, with avoidance of
|
||||
@ -120,7 +120,7 @@ namespace endian
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline T big(const T& x)
|
||||
inline T big(T x)
|
||||
{
|
||||
# ifdef BOOST_BIG_ENDIAN
|
||||
return x;
|
||||
@ -130,7 +130,7 @@ namespace endian
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline T little(const T& x)
|
||||
inline T little(T x)
|
||||
{
|
||||
# ifdef BOOST_LITTLE_ENDIAN
|
||||
return x;
|
||||
|
@ -163,10 +163,10 @@ namespace boost
|
||||
|
||||
// endian class template and specializations ---------------------------------------//
|
||||
|
||||
BOOST_SCOPED_ENUM_START(endianness) { big, little, native }; BOOST_SCOPED_ENUM_END
|
||||
BOOST_SCOPED_ENUM_START(order) { big, little, native }; BOOST_SCOPED_ENUM_END
|
||||
BOOST_SCOPED_ENUM_START(alignment) { unaligned, aligned }; BOOST_SCOPED_ENUM_END
|
||||
|
||||
template <BOOST_SCOPED_ENUM(endianness) E, typename T, std::size_t n_bits,
|
||||
template <BOOST_SCOPED_ENUM(order) E, typename T, std::size_t n_bits,
|
||||
BOOST_SCOPED_ENUM(alignment) A = alignment::unaligned>
|
||||
class endian;
|
||||
|
||||
@ -177,8 +177,8 @@ namespace boost
|
||||
|
||||
// unaligned big endian specialization
|
||||
template <typename T, std::size_t n_bits>
|
||||
class endian< endianness::big, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< endianness::big, T, n_bits >, T >
|
||||
class endian< order::big, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< order::big, T, n_bits >, T >
|
||||
{
|
||||
BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits );
|
||||
public:
|
||||
@ -210,8 +210,8 @@ namespace boost
|
||||
|
||||
// unaligned little endian specialization
|
||||
template <typename T, std::size_t n_bits>
|
||||
class endian< endianness::little, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< endianness::little, T, n_bits >, T >
|
||||
class endian< order::little, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< order::little, T, n_bits >, T >
|
||||
{
|
||||
BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits );
|
||||
public:
|
||||
@ -243,8 +243,8 @@ namespace boost
|
||||
|
||||
// unaligned native endian specialization
|
||||
template <typename T, std::size_t n_bits>
|
||||
class endian< endianness::native, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< endianness::native, T, n_bits >, T >
|
||||
class endian< order::native, T, n_bits, alignment::unaligned >
|
||||
: cover_operators< endian< order::native, T, n_bits >, T >
|
||||
{
|
||||
BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits );
|
||||
public:
|
||||
@ -274,8 +274,8 @@ namespace boost
|
||||
|
||||
// aligned big endian specialization
|
||||
template <typename T, std::size_t n_bits>
|
||||
class endian< endianness::big, T, n_bits, alignment::aligned >
|
||||
: cover_operators< endian< endianness::big, T, n_bits, alignment::aligned >, T >
|
||||
class endian< order::big, T, n_bits, alignment::aligned >
|
||||
: cover_operators< endian< order::big, T, n_bits, alignment::aligned >, T >
|
||||
{
|
||||
BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits );
|
||||
BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 );
|
||||
@ -303,8 +303,8 @@ namespace boost
|
||||
|
||||
// aligned little endian specialization
|
||||
template <typename T, std::size_t n_bits>
|
||||
class endian< endianness::little, T, n_bits, alignment::aligned >
|
||||
: cover_operators< endian< endianness::little, T, n_bits, alignment::aligned >, T >
|
||||
class endian< order::little, T, n_bits, alignment::aligned >
|
||||
: cover_operators< endian< order::little, T, n_bits, alignment::aligned >, T >
|
||||
{
|
||||
BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits );
|
||||
BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 );
|
||||
@ -333,64 +333,64 @@ namespace boost
|
||||
// naming convention typedefs ------------------------------------------------------//
|
||||
|
||||
// unaligned big endian signed integer types
|
||||
typedef endian< endianness::big, int_least8_t, 8 > big8_t;
|
||||
typedef endian< endianness::big, int_least16_t, 16 > big16_t;
|
||||
typedef endian< endianness::big, int_least32_t, 24 > big24_t;
|
||||
typedef endian< endianness::big, int_least32_t, 32 > big32_t;
|
||||
typedef endian< endianness::big, int_least64_t, 40 > big40_t;
|
||||
typedef endian< endianness::big, int_least64_t, 48 > big48_t;
|
||||
typedef endian< endianness::big, int_least64_t, 56 > big56_t;
|
||||
typedef endian< endianness::big, int_least64_t, 64 > big64_t;
|
||||
typedef endian< order::big, int_least8_t, 8 > big8_t;
|
||||
typedef endian< order::big, int_least16_t, 16 > big16_t;
|
||||
typedef endian< order::big, int_least32_t, 24 > big24_t;
|
||||
typedef endian< order::big, int_least32_t, 32 > big32_t;
|
||||
typedef endian< order::big, int_least64_t, 40 > big40_t;
|
||||
typedef endian< order::big, int_least64_t, 48 > big48_t;
|
||||
typedef endian< order::big, int_least64_t, 56 > big56_t;
|
||||
typedef endian< order::big, int_least64_t, 64 > big64_t;
|
||||
|
||||
// unaligned big endian unsigned integer types
|
||||
typedef endian< endianness::big, uint_least8_t, 8 > ubig8_t;
|
||||
typedef endian< endianness::big, uint_least16_t, 16 > ubig16_t;
|
||||
typedef endian< endianness::big, uint_least32_t, 24 > ubig24_t;
|
||||
typedef endian< endianness::big, uint_least32_t, 32 > ubig32_t;
|
||||
typedef endian< endianness::big, uint_least64_t, 40 > ubig40_t;
|
||||
typedef endian< endianness::big, uint_least64_t, 48 > ubig48_t;
|
||||
typedef endian< endianness::big, uint_least64_t, 56 > ubig56_t;
|
||||
typedef endian< endianness::big, uint_least64_t, 64 > ubig64_t;
|
||||
typedef endian< order::big, uint_least8_t, 8 > ubig8_t;
|
||||
typedef endian< order::big, uint_least16_t, 16 > ubig16_t;
|
||||
typedef endian< order::big, uint_least32_t, 24 > ubig24_t;
|
||||
typedef endian< order::big, uint_least32_t, 32 > ubig32_t;
|
||||
typedef endian< order::big, uint_least64_t, 40 > ubig40_t;
|
||||
typedef endian< order::big, uint_least64_t, 48 > ubig48_t;
|
||||
typedef endian< order::big, uint_least64_t, 56 > ubig56_t;
|
||||
typedef endian< order::big, uint_least64_t, 64 > ubig64_t;
|
||||
|
||||
// unaligned little endian signed integer types
|
||||
typedef endian< endianness::little, int_least8_t, 8 > little8_t;
|
||||
typedef endian< endianness::little, int_least16_t, 16 > little16_t;
|
||||
typedef endian< endianness::little, int_least32_t, 24 > little24_t;
|
||||
typedef endian< endianness::little, int_least32_t, 32 > little32_t;
|
||||
typedef endian< endianness::little, int_least64_t, 40 > little40_t;
|
||||
typedef endian< endianness::little, int_least64_t, 48 > little48_t;
|
||||
typedef endian< endianness::little, int_least64_t, 56 > little56_t;
|
||||
typedef endian< endianness::little, int_least64_t, 64 > little64_t;
|
||||
typedef endian< order::little, int_least8_t, 8 > little8_t;
|
||||
typedef endian< order::little, int_least16_t, 16 > little16_t;
|
||||
typedef endian< order::little, int_least32_t, 24 > little24_t;
|
||||
typedef endian< order::little, int_least32_t, 32 > little32_t;
|
||||
typedef endian< order::little, int_least64_t, 40 > little40_t;
|
||||
typedef endian< order::little, int_least64_t, 48 > little48_t;
|
||||
typedef endian< order::little, int_least64_t, 56 > little56_t;
|
||||
typedef endian< order::little, int_least64_t, 64 > little64_t;
|
||||
|
||||
// unaligned little endian unsigned integer types
|
||||
typedef endian< endianness::little, uint_least8_t, 8 > ulittle8_t;
|
||||
typedef endian< endianness::little, uint_least16_t, 16 > ulittle16_t;
|
||||
typedef endian< endianness::little, uint_least32_t, 24 > ulittle24_t;
|
||||
typedef endian< endianness::little, uint_least32_t, 32 > ulittle32_t;
|
||||
typedef endian< endianness::little, uint_least64_t, 40 > ulittle40_t;
|
||||
typedef endian< endianness::little, uint_least64_t, 48 > ulittle48_t;
|
||||
typedef endian< endianness::little, uint_least64_t, 56 > ulittle56_t;
|
||||
typedef endian< endianness::little, uint_least64_t, 64 > ulittle64_t;
|
||||
typedef endian< order::little, uint_least8_t, 8 > ulittle8_t;
|
||||
typedef endian< order::little, uint_least16_t, 16 > ulittle16_t;
|
||||
typedef endian< order::little, uint_least32_t, 24 > ulittle24_t;
|
||||
typedef endian< order::little, uint_least32_t, 32 > ulittle32_t;
|
||||
typedef endian< order::little, uint_least64_t, 40 > ulittle40_t;
|
||||
typedef endian< order::little, uint_least64_t, 48 > ulittle48_t;
|
||||
typedef endian< order::little, uint_least64_t, 56 > ulittle56_t;
|
||||
typedef endian< order::little, uint_least64_t, 64 > ulittle64_t;
|
||||
|
||||
// unaligned native endian signed integer types
|
||||
typedef endian< endianness::native, int_least8_t, 8 > native8_t;
|
||||
typedef endian< endianness::native, int_least16_t, 16 > native16_t;
|
||||
typedef endian< endianness::native, int_least32_t, 24 > native24_t;
|
||||
typedef endian< endianness::native, int_least32_t, 32 > native32_t;
|
||||
typedef endian< endianness::native, int_least64_t, 40 > native40_t;
|
||||
typedef endian< endianness::native, int_least64_t, 48 > native48_t;
|
||||
typedef endian< endianness::native, int_least64_t, 56 > native56_t;
|
||||
typedef endian< endianness::native, int_least64_t, 64 > native64_t;
|
||||
typedef endian< order::native, int_least8_t, 8 > native8_t;
|
||||
typedef endian< order::native, int_least16_t, 16 > native16_t;
|
||||
typedef endian< order::native, int_least32_t, 24 > native24_t;
|
||||
typedef endian< order::native, int_least32_t, 32 > native32_t;
|
||||
typedef endian< order::native, int_least64_t, 40 > native40_t;
|
||||
typedef endian< order::native, int_least64_t, 48 > native48_t;
|
||||
typedef endian< order::native, int_least64_t, 56 > native56_t;
|
||||
typedef endian< order::native, int_least64_t, 64 > native64_t;
|
||||
|
||||
// unaligned native endian unsigned integer types
|
||||
typedef endian< endianness::native, uint_least8_t, 8 > unative8_t;
|
||||
typedef endian< endianness::native, uint_least16_t, 16 > unative16_t;
|
||||
typedef endian< endianness::native, uint_least32_t, 24 > unative24_t;
|
||||
typedef endian< endianness::native, uint_least32_t, 32 > unative32_t;
|
||||
typedef endian< endianness::native, uint_least64_t, 40 > unative40_t;
|
||||
typedef endian< endianness::native, uint_least64_t, 48 > unative48_t;
|
||||
typedef endian< endianness::native, uint_least64_t, 56 > unative56_t;
|
||||
typedef endian< endianness::native, uint_least64_t, 64 > unative64_t;
|
||||
typedef endian< order::native, uint_least8_t, 8 > unative8_t;
|
||||
typedef endian< order::native, uint_least16_t, 16 > unative16_t;
|
||||
typedef endian< order::native, uint_least32_t, 24 > unative24_t;
|
||||
typedef endian< order::native, uint_least32_t, 32 > unative32_t;
|
||||
typedef endian< order::native, uint_least64_t, 40 > unative40_t;
|
||||
typedef endian< order::native, uint_least64_t, 48 > unative48_t;
|
||||
typedef endian< order::native, uint_least64_t, 56 > unative56_t;
|
||||
typedef endian< order::native, uint_least64_t, 64 > unative64_t;
|
||||
|
||||
#define BOOST_HAS_INT16_T
|
||||
#define BOOST_HAS_INT32_T
|
||||
@ -406,24 +406,24 @@ namespace boost
|
||||
// <cstdint> types are superior for this use case
|
||||
|
||||
# if defined(BOOST_HAS_INT16_T)
|
||||
typedef endian< endianness::big, int16_t, 16, alignment::aligned > aligned_big16_t;
|
||||
typedef endian< endianness::big, uint16_t, 16, alignment::aligned > aligned_ubig16_t;
|
||||
typedef endian< endianness::little, int16_t, 16, alignment::aligned > aligned_little16_t;
|
||||
typedef endian< endianness::little, uint16_t, 16, alignment::aligned > aligned_ulittle16_t;
|
||||
typedef endian< order::big, int16_t, 16, alignment::aligned > aligned_big16_t;
|
||||
typedef endian< order::big, uint16_t, 16, alignment::aligned > aligned_ubig16_t;
|
||||
typedef endian< order::little, int16_t, 16, alignment::aligned > aligned_little16_t;
|
||||
typedef endian< order::little, uint16_t, 16, alignment::aligned > aligned_ulittle16_t;
|
||||
# endif
|
||||
|
||||
# if defined(BOOST_HAS_INT32_T)
|
||||
typedef endian< endianness::big, int32_t, 32, alignment::aligned > aligned_big32_t;
|
||||
typedef endian< endianness::big, uint32_t, 32, alignment::aligned > aligned_ubig32_t;
|
||||
typedef endian< endianness::little, int32_t, 32, alignment::aligned > aligned_little32_t;
|
||||
typedef endian< endianness::little, uint32_t, 32, alignment::aligned > aligned_ulittle32_t;
|
||||
typedef endian< order::big, int32_t, 32, alignment::aligned > aligned_big32_t;
|
||||
typedef endian< order::big, uint32_t, 32, alignment::aligned > aligned_ubig32_t;
|
||||
typedef endian< order::little, int32_t, 32, alignment::aligned > aligned_little32_t;
|
||||
typedef endian< order::little, uint32_t, 32, alignment::aligned > aligned_ulittle32_t;
|
||||
# endif
|
||||
|
||||
# if defined(BOOST_HAS_INT64_T)
|
||||
typedef endian< endianness::big, int64_t, 64, alignment::aligned > aligned_big64_t;
|
||||
typedef endian< endianness::big, uint64_t, 64, alignment::aligned > aligned_ubig64_t;
|
||||
typedef endian< endianness::little, int64_t, 64, alignment::aligned > aligned_little64_t;
|
||||
typedef endian< endianness::little, uint64_t, 64, alignment::aligned > aligned_ulittle64_t;
|
||||
typedef endian< order::big, int64_t, 64, alignment::aligned > aligned_big64_t;
|
||||
typedef endian< order::big, uint64_t, 64, alignment::aligned > aligned_ubig64_t;
|
||||
typedef endian< order::little, int64_t, 64, alignment::aligned > aligned_little64_t;
|
||||
typedef endian< order::little, uint64_t, 64, alignment::aligned > aligned_ulittle64_t;
|
||||
# endif
|
||||
|
||||
} // namespace endian
|
||||
|
@ -8,10 +8,10 @@
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
|
||||
#include <cstdlib>
|
||||
#include <boost/endian/conversion.hpp>
|
||||
#include <boost/endian/converters.hpp>
|
||||
#include <boost/random.hpp>
|
||||
#include <boost/cstdint.hpp>
|
||||
#include <boost/endian/support/timer.hpp>
|
||||
#include <boost/timer/timer.hpp>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
@ -34,15 +34,16 @@ namespace
|
||||
typedef void (*timee_func)(int32_t, int32_t&);
|
||||
#endif
|
||||
|
||||
endian::microsecond_t benchmark(timee_func timee, const char* msg,
|
||||
endian::microsecond_t overhead = 0)
|
||||
typedef boost::timer::nanosecond_type nanosecond_t;
|
||||
nanosecond_t benchmark(timee_func timee, const char* msg,
|
||||
nanosecond_t overhead = 0)
|
||||
{
|
||||
if (verbose)
|
||||
cout << "\nRunning benchmark..." << endl;
|
||||
int64_t sum = 0;
|
||||
endian::times_t times;
|
||||
endian::microsecond_t cpu_time;
|
||||
endian::run_timer t(places);
|
||||
boost::timer::cpu_times times;
|
||||
nanosecond_t cpu_time;
|
||||
boost::timer::auto_cpu_timer t(places);
|
||||
|
||||
for (long long i = n; i; --i)
|
||||
{
|
||||
@ -53,8 +54,9 @@ namespace
|
||||
timee(static_cast<int32_t>(i), y);
|
||||
sum += y;
|
||||
# endif
|
||||
}
|
||||
times = t.stop();
|
||||
}
|
||||
t.stop();
|
||||
times = t.elapsed();
|
||||
cpu_time = (times.system + times.user) - overhead;
|
||||
const long double sec = 1000000.0L;
|
||||
cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
|
||||
@ -192,7 +194,7 @@ int main(int argc, char * argv[])
|
||||
{
|
||||
process_command_line(argc, argv);
|
||||
|
||||
endian::microsecond_t overhead;
|
||||
nanosecond_t overhead;
|
||||
|
||||
#ifndef BOOST_TWO_ARG
|
||||
overhead = benchmark(modify_noop, "modify no-op");
|
||||
|
@ -107,9 +107,9 @@ namespace
|
||||
# endif
|
||||
}
|
||||
|
||||
// detect_endianness -----------------------------------------------------//
|
||||
// detect_order -----------------------------------------------------//
|
||||
|
||||
void detect_endianness()
|
||||
void detect_order()
|
||||
{
|
||||
union View
|
||||
{
|
||||
@ -146,7 +146,7 @@ namespace
|
||||
exit(1);
|
||||
}
|
||||
cout << "That should not matter and is presented for your information only.\n";
|
||||
} // detect_endianness
|
||||
} // detect_order
|
||||
|
||||
// check_data ------------------------------------------------------------//
|
||||
|
||||
@ -714,7 +714,7 @@ namespace
|
||||
|
||||
void check_udt()
|
||||
{
|
||||
typedef boost::endian::endian< endianness::big, MyInt, 32 > mybig32_t;
|
||||
typedef boost::endian::endian< order::big, MyInt, 32 > mybig32_t;
|
||||
|
||||
mybig32_t v(10);
|
||||
cout << "+v is " << +v << endl;
|
||||
@ -765,7 +765,7 @@ int cpp_main( int argc, char * argv[] )
|
||||
iterations = atol( argv[1] );
|
||||
if ( iterations < 1 ) iterations = 1;
|
||||
|
||||
detect_endianness();
|
||||
detect_order();
|
||||
check_size();
|
||||
check_alignment();
|
||||
check_representation_and_range_and_ops();
|
||||
|
@ -32,9 +32,11 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
@ -74,6 +76,7 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\converter_test.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
@ -11,11 +11,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scoped_enum_emulation_test"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "endian_example", "endian_example\endian_example.vcxproj", "{8638A3D8-D121-40BF-82E5-127F1B1B2CB2}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "conversion_test", "conversion_test\conversion_test.vcxproj", "{9FA33B0B-2B00-49E8-A892-E049D86076A9}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "benchmark", "benchmark\benchmark.vcxproj", "{C9FEAE75-4DD9-44F5-B302-9910559A91BE}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "conversion2_test", "conversion2_test\conversion2_test.vcxproj", "{6FAF820B-F436-46A2-A1DD-4A4B7025C3D0}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "converter_test", "converter_test\converter_test.vcxproj", "{EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -43,18 +41,14 @@ Global
|
||||
{8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|Win32.Build.0 = Release|Win32
|
||||
{9FA33B0B-2B00-49E8-A892-E049D86076A9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9FA33B0B-2B00-49E8-A892-E049D86076A9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9FA33B0B-2B00-49E8-A892-E049D86076A9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9FA33B0B-2B00-49E8-A892-E049D86076A9}.Release|Win32.Build.0 = Release|Win32
|
||||
{C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|Win32.Build.0 = Release|Win32
|
||||
{6FAF820B-F436-46A2-A1DD-4A4B7025C3D0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6FAF820B-F436-46A2-A1DD-4A4B7025C3D0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6FAF820B-F436-46A2-A1DD-4A4B7025C3D0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6FAF820B-F436-46A2-A1DD-4A4B7025C3D0}.Release|Win32.Build.0 = Release|Win32
|
||||
{EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -7,7 +7,9 @@
|
||||
|
||||
// See documentation at http://www.boost.org/libs/utility/scoped_enum_emulation.html
|
||||
|
||||
#include <boost/detail/disable_warnings.hpp>
|
||||
// #include <boost/detail/disable_warnings.hpp>
|
||||
// #include <boost/config/warning_disable.hpp>
|
||||
|
||||
|
||||
#include <boost/detail/scoped_enum_emulation.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
|
Reference in New Issue
Block a user