diff --git a/development/alignment_test.cpp b/development/alignment_test.cpp deleted file mode 100644 index b7c2a6f..0000000 --- a/development/alignment_test.cpp +++ /dev/null @@ -1,44 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -NESTED_DECL(alignment_of) - -int main(int argc, char* argv[]) -{ - NESTED_TEST(alignment_of, int) - NESTED_TEST(alignment_of, int_constructible) - - align_test(int); - align_test(char); - align_test(double); - align_test(int[4]); - align_test(int(*)(int)); -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - align_test(char&); - align_test(char (&)(int)); - align_test(char(&)[4]); -#endif - align_test(int*); - //align_test(const int); - align_test(VB); - align_test(VD); - value_test(0, ::boost::alignment_of::value); - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -unsigned int expected_failures = 0; - diff --git a/development/arithmetic_traits_test.cpp b/development/arithmetic_traits_test.cpp deleted file mode 100644 index 87d2d31..0000000 --- a/development/arithmetic_traits_test.cpp +++ /dev/null @@ -1,197 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -NESTED_DECL(is_void) -NESTED_DECL(is_integral) -NESTED_DECL(is_float) -NESTED_DECL(is_arithmetic) -NESTED_DECL(is_fundamental) - -int main(int argc, char* argv[]) -{ - NESTED_TEST(is_void, void) - NESTED_TEST(is_void, int) - NESTED_TEST(is_integral, int) - NESTED_TEST(is_integral, float) - NESTED_TEST(is_float, void) - NESTED_TEST(is_float, double) - NESTED_TEST(is_arithmetic, void) - NESTED_TEST(is_arithmetic, int) - NESTED_TEST(is_fundamental, UDT) - NESTED_TEST(is_fundamental, int) - - value_test(true, boost::is_void::value) - value_test(true, boost::is_void::value) - value_test(true, boost::is_void::value) - value_test(true, boost::is_void::value) - value_test(false, boost::is_void::value) - - value_test(false, boost::is_integral::value) - value_test(false, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(false, boost::is_integral::value) - value_test(false, boost::is_integral::value) - value_test(false, boost::is_integral::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_integral<__int64>::value) - value_test(true, boost::is_integral::value) - #endif - //const qualified ints: - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - // volatile qualified ints: - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - //const qualified ints: - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_integral::value) - value_test(true, boost::is_integral::value) - #endif - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(true, boost::is_float::value) - value_test(false, boost::is_float::value) - value_test(false, boost::is_float::value) - value_test(false, boost::is_float::value) - - - value_test(false, boost::is_arithmetic::value) - value_test(false, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_arithmetic::value) - value_test(true, boost::is_arithmetic::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_arithmetic<__int64>::value) - value_test(true, boost::is_arithmetic::value) - #endif - - value_test(false, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - #ifdef ULLONG_MAX - value_test(true, boost::is_fundamental::value) - value_test(true, boost::is_fundamental::value) - #endif - #if defined(__BORLANDC__) || defined(_MSC_VER) - value_test(true, boost::is_fundamental<__int64>::value) - value_test(true, boost::is_fundamental::value) - #endif - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -unsigned int expected_failures = 0; - diff --git a/development/composite_traits_test.cpp b/development/composite_traits_test.cpp deleted file mode 100644 index e6e564a..0000000 --- a/development/composite_traits_test.cpp +++ /dev/null @@ -1,116 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -NESTED_DECL(is_array) -NESTED_DECL(is_pointer) -NESTED_DECL(is_reference) - -int main(int argc, char* argv[]) -{ - NESTED_TEST(is_array, int) - NESTED_TEST(is_array, int[2]) - NESTED_TEST(is_array, int[3][4]) - NESTED_TEST(is_array, int const [5]) - NESTED_TEST(is_array, int(&)[2]) - NESTED_TEST(is_array, int (*)(double)) - NESTED_TEST(is_pointer, int) - NESTED_TEST(is_pointer, int*) - NESTED_TEST(is_reference, int) - NESTED_TEST(is_reference, int&) - - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(true, boost::is_array::value) - value_test(true, boost::is_array::value) - value_test(true, boost::is_array::value) - value_test(true, boost::is_array::value) - value_test(true, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - value_test(false, boost::is_array::value) - - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - // these were false in previous versions (JM 20 Dec 2000): - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - // JM 02 Oct 2000: - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - value_test(true, boost::is_pointer::value) - // Steve: was 'true', should be 'false', via 3.9.2p3 - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - value_test(false, boost::is_pointer::value) - - value_test(false, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(true, boost::is_reference::value) - value_test(false, boost::is_reference::value) - - value_test(false, boost::is_member_pointer::value) - value_test(false, boost::is_member_pointer::value) - value_test(false, boost::is_member_pointer::value) - value_test(false, boost::is_member_pointer::value) - value_test(true, boost::is_member_pointer::value) - value_test(true, boost::is_member_pointer::value) - value_test(true, boost::is_member_pointer::value) - value_test(true, boost::is_member_pointer::value) - value_test(false, boost::is_member_pointer::value) - - value_test(false, boost::is_enum::value) - value_test(true, boost::is_enum::value) - value_test(false, boost::is_enum::value) - value_test(false, boost::is_enum::value) - value_test(false, boost::is_enum::value) - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef __BORLANDC__ -unsigned int expected_failures = 2; -#elif defined(__GNUC__) -unsigned int expected_failures = 1; // can't handle cv-qualified references -#elif defined(BOOST_MSVC) -unsigned int expected_failures = 1; -#else -unsigned int expected_failures = 0; -#endif - - diff --git a/development/copy_example.cpp b/development/copy_example.cpp deleted file mode 100644 index c20e27a..0000000 --- a/development/copy_example.cpp +++ /dev/null @@ -1,240 +0,0 @@ - -/* - * - * Copyright (c) 1999 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * This file provides some example of type_traits usage - - * by "optimising" various algorithms: - * - * opt::copy - optimised for trivial copy (cf std::copy) - * - */ - -#include -#include -#include -#include -#include - -#include -#include - -using std::cout; -using std::endl; -using std::cin; - -namespace opt{ - -// -// opt::copy -// same semantics as std::copy -// calls memcpy where appropiate. -// - -namespace detail{ - -template -I2 copy_imp(I1 first, I1 last, I2 out) -{ - while(first != last) - { - *out = *first; - ++out; - ++first; - } - return out; -} - -template -struct copier -{ - template - static I2 do_copy(I1 first, I1 last, I2 out) - { return copy_imp(first, last, out); } -}; - -template <> -struct copier -{ - template - static I2* do_copy(I1* first, I1* last, I2* out) - { - memcpy(out, first, (last-first)*sizeof(I2)); - return out+(last-first); - } -}; - - -} - -#ifndef BOOST_NO_STD_ITERATOR_TRAITS - -template -inline I2 copy(I1 first, I1 last, I2 out) -{ - typedef typename boost::remove_cv::value_type>::type v1_t; - typedef typename boost::remove_cv::value_type>::type v2_t; - return detail::copier< - ::boost::type_traits::ice_and< - ::boost::is_same::value, - ::boost::is_pointer::value, - ::boost::is_pointer::value, - ::boost::has_trivial_assign::value - >::value>::do_copy(first, last, out); -} - -#else // BOOST_NO_STD_ITERATOR_TRAITS - -// -// If there is no standard iterator_traits then we have to -// use overloading rather than iterator_traits to detect -// when we have T*'s to copy. Note that we cannot overload -// copy directly as that will cause some standard conforming -// code to fail to build: - -namespace detail{ - -template -inline I2 copy_(const I1& first, const I1& last, const I2& out) -{ - return detail::copier::do_copy(first, last, out); -} - -template -inline T* copy_(const T* first, const T* last, T* out) -{ - return detail::copier< - ::boost::has_trivial_assign::value - >::do_copy(first, last, out); -} - -} // namespace detail - -template -inline I2 copy(I1 first, I1 last, I2 out) -{ - return detail::copy_(first, last, out); -} - -#endif // BOOST_NO_STD_ITERATOR_TRAITS - -}; // namespace opt - -// -// define some global data: -// -const int array_size = 1000; -int i_array_[array_size] = {0,}; -const int ci_array_[array_size] = {0,}; -char c_array_[array_size] = {0,}; -const char cc_array_[array_size] = { 0,}; -// -// since arrays aren't iterators we define a set of pointer -// aliases into the arrays (otherwise the compiler is entitled -// to deduce the type passed to the template functions as -// T (&)[N] rather than T*). -int* i_array = i_array_; -const int* ci_array = ci_array_; -char* c_array = c_array_; -const char* cc_array = cc_array_; - -const int iter_count = 1000000; - -int main() -{ - boost::timer t; - double result; - int i; - cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl; - cout << "testing copy...\n" - "[Some standard library versions may already perform this optimisation.]" << endl; - - // cache load: - opt::copy(ci_array, ci_array + array_size, i_array); - - // time optimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::copy(ci_array, ci_array + array_size, i_array); - } - result = t.elapsed(); - cout << "opt::copy: " << result << endl; - - // cache load: - std::copy(ci_array, ci_array + array_size, i_array); - - // time standard version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - std::copy(ci_array, ci_array + array_size, i_array); - } - result = t.elapsed(); - cout << "std::copy: " << result << endl; - - // cache load: - opt::detail::copier::do_copy(ci_array, ci_array + array_size, i_array); - - // time unoptimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::detail::copier::do_copy(ci_array, ci_array + array_size, i_array); - } - result = t.elapsed(); - cout << "standard \"unoptimised\" copy: " << result << endl << endl; - - // cache load: - opt::copy(cc_array, cc_array + array_size, c_array); - - // time optimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::copy(cc_array, cc_array + array_size, c_array); - } - result = t.elapsed(); - cout << "opt::copy: " << result << endl; - - // cache load: - std::copy(cc_array, cc_array + array_size, c_array); - - // time standard version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - std::copy(cc_array, cc_array + array_size, c_array); - } - result = t.elapsed(); - cout << "std::copy: " << result << endl; - - // cache load: - opt::detail::copier::do_copy(cc_array, cc_array + array_size, c_array); - - // time unoptimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::detail::copier::do_copy(cc_array, cc_array + array_size, c_array); - } - result = t.elapsed(); - cout << "standard \"unoptimised\" copy: " << result << endl << endl; - - return 0; -} - - - - - - diff --git a/development/cs-linux.html b/development/cs-linux.html deleted file mode 100644 index d488458..0000000 --- a/development/cs-linux.html +++ /dev/null @@ -1,113 +0,0 @@ - - - -Compiler Status: linux - - - -

-

Compiler Status: linux

- -

Run Date: 07 Jan 2001 22:21 GMT

-

System Configuration: Linux 2.2.13

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProgramTest
Type
GNU
GCC
2.95.2
GNU
GCC
2.95.2
STLport
4.0
Comeau C++
4.2.44 beta3
STLport
4.0
libs/type_traits/alignment_test.cpprunPassPassFail
libs/type_traits/arithmetic_traits_test.cpprunPassPassPass
libs/type_traits/composite_traits_test.cpprunPassPassPass
libs/type_traits/cv_traits_test.cpprunPassPassPass
libs/type_traits/is_convertible_test.cpprunPassPassPass
libs/type_traits/is_same_test.cpprunPassPassPass
libs/type_traits/object_type_traits_test.cpprunPassFailFail
libs/type_traits/transform_traits_test.cpprunPassPassPass
libs/type_traits/trivial_destructor_example.cppcompilePassPassPass
libs/type_traits/copy_example.cppcompilePassPassPass
libs/type_traits/fill_example.cppcompilePassPassPass
libs/type_traits/iter_swap_example.cppcompilePassPassPass

-

-Notes: A hand-crafted <limits> Standard header has been -applied to all configurations. -The tests were run on a GNU libc 2.2 system which has improved -wide character support compared to previous versions.

- - diff --git a/development/cs-win32.html b/development/cs-win32.html deleted file mode 100644 index 6e98250..0000000 --- a/development/cs-win32.html +++ /dev/null @@ -1,162 +0,0 @@ - - - -Compiler Status: win32 - - - -

-

Compiler Status: win32

- -

Run Date: 03 Feb 2001 11:25 GMT

-

System Configuration: Microsoft Windows 32bit

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ProgramTest
Type
cygwin
GCC 2.95.2
cygwin
GCC 2.95.2
+ SGI STL 3.3
cygwin
GCC 2.95.2
+ STLPort 4
Borland
5.5.1
Borland
5.4
Microsoft
VC++
6.0 SP4
Microsoft
VC++
6.0 SP4
STLport
4.0
libs/type_traits/alignment_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/arithmetic_traits_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/composite_traits_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/cv_traits_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/is_convertible_test.cpprunPassPassPassFailFailPassPass
libs/type_traits/is_same_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/object_type_traits_test.cpprunPassPassPassPassPassPassPass
libs/type_traits/transform_traits_test.cpprunPassPassPassPassFailFailFail
libs/type_traits/trivial_destructor_example.cppcompilePassPassPassPassPassPassPass
libs/type_traits/copy_example.cppcompilePassPassPassPassPassPassPass
libs/type_traits/fill_example.cppcompilePassPassPassPassPassPassPass
libs/type_traits/iter_swap_example.cppcompilePassPassPassPassPassFailFail

-

-

- - diff --git a/development/cv_traits_test.cpp b/development/cv_traits_test.cpp deleted file mode 100644 index 41d8c6a..0000000 --- a/development/cv_traits_test.cpp +++ /dev/null @@ -1,50 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -NESTED_DECL(is_const) -NESTED_DECL(is_volatile) - -int main(int argc, char* argv[]) -{ - NESTED_TEST(is_const, int) - NESTED_TEST(is_const, const int) - NESTED_TEST(is_const, volatile int) - NESTED_TEST(is_volatile, int) - NESTED_TEST(is_volatile, const int) - NESTED_TEST(is_volatile, volatile int) - - value_test(false, boost::is_const::value) - value_test(true, boost::is_const::value) - value_test(false, boost::is_const::value) - value_test(true, boost::is_const::value) - value_test(true, boost::is_const::value) - value_test(true, boost::is_const::value) - value_test(false, boost::is_volatile::value) - value_test(true, boost::is_volatile::value) - value_test(false, boost::is_volatile::value) - value_test(true, boost::is_volatile::value) - value_test(true, boost::is_volatile::value) - value_test(true, boost::is_volatile::value) - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef BOOST_MSVC -unsigned int expected_failures = 2; -#else -unsigned int expected_failures = 0; -#endif - diff --git a/development/fill_example.cpp b/development/fill_example.cpp deleted file mode 100644 index ce5f03e..0000000 --- a/development/fill_example.cpp +++ /dev/null @@ -1,191 +0,0 @@ - -/* - * - * Copyright (c) 1999 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * This file provides some example of type_traits usage - - * by "optimising" various algorithms: - * - * opt::fill - optimised for trivial copy/small types (cf std::fill) - * - */ - -#include -#include -#include -#include -#include - -#include -#include -#include - -#if defined(BOOST_NO_STDC_NAMESPACE) || (defined(std) && defined(__SGI_STL_PORT)) -namespace std{ using :: memset; } -#endif - -using std::cout; -using std::endl; -using std::cin; - -namespace opt{ -// -// fill -// same as std::fill, uses memset where appropriate, along with call_traits -// to "optimise" parameter passing. -// -namespace detail{ - -template -void do_fill_(I first, I last, typename boost::call_traits::param_type val) -{ - while(first != last) - { - *first = val; - ++first; - } -} - -template -struct filler -{ - template - struct rebind - { - static void do_fill(I first, I last, typename boost::call_traits::param_type val) - { do_fill_(first, last, val); } - }; -}; - -template <> -struct filler -{ - template - struct rebind - { - static void do_fill(I first, I last, T val) - { - std::memset(first, val, last-first); - } - }; -}; - -} - -template -inline void fill(I first, I last, const T& val) -{ - typedef detail::filler< - ::boost::type_traits::ice_and< - ::boost::is_pointer::value, - ::boost::is_arithmetic::value, - (sizeof(T) == 1) - >::value> filler_t; - typedef typename filler_t:: template rebind binder; - binder::do_fill(first, last, val); -} - -}; // namespace opt - -// -// define some global data: -// -const int array_size = 1000; -int i_array_[array_size] = {0,}; -const int ci_array_[array_size] = {0,}; -char c_array_[array_size] = {0,}; -const char cc_array_[array_size] = { 0,}; -// -// since arrays aren't iterators we define a set of pointer -// aliases into the arrays (otherwise the compiler is entitled -// to deduce the type passed to the template functions as -// T (&)[N] rather than T*). -int* i_array = i_array_; -const int* ci_array = ci_array_; -char* c_array = c_array_; -const char* cc_array = cc_array_; - -const int iter_count = 1000000; - -int main() -{ - boost::timer t; - double result; - int i; - // - // test destroy_array, - // compare destruction time of an array of ints - // with unoptimised form. - // - cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl; - - cout << "testing fill(char)...\n" - "[Some standard library versions may already perform this optimisation.]" << endl; - - // cache load: - opt::fill(c_array, c_array + array_size, (char)3); - - // time optimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::fill(c_array, c_array + array_size, (char)3); - } - result = t.elapsed(); - cout << "opt::fill: " << result << endl; - - // cache load: - std::fill(c_array, c_array + array_size, (char)3); - - // time standard version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - std::fill(c_array, c_array + array_size, (char)3); - } - result = t.elapsed(); - cout << "std::fill: " << result << endl << endl; - - cout << "testing fill(int)...\n" - "[Tests the effect of call_traits pass-by-value optimisation -\nthe value of this optimisation may depend upon hardware characteristics.]" << endl; - - // cache load: - opt::fill(i_array, i_array + array_size, 3); - - // timer optimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::fill(i_array, i_array + array_size, 3); - } - result = t.elapsed(); - cout << "opt::fill: " << result << endl; - - // cache load: - std::fill(i_array, i_array + array_size, 3); - - // time standard version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - std::fill(i_array, i_array + array_size, 3); - } - result = t.elapsed(); - cout << "std::fill: " << result << endl << endl; - - return 0; -} - - - - - diff --git a/development/include/boost/call_traits.hpp b/development/include/boost/call_traits.hpp deleted file mode 100644 index 345a440..0000000 --- a/development/include/boost/call_traits.hpp +++ /dev/null @@ -1,23 +0,0 @@ -// (C) Copyright Boost.org 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// See boost/detail/call_traits.hpp and boost/detail/ob_call_traits.hpp -// for full copyright notices. - -#ifndef BOOST_CALL_TRAITS_HPP -#define BOOST_CALL_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -#include -#endif - -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -#include -#else -#include -#endif - -#endif // BOOST_CALL_TRAITS_HPP diff --git a/development/include/boost/config.hpp b/development/include/boost/config.hpp deleted file mode 100644 index 3e01dca..0000000 --- a/development/include/boost/config.hpp +++ /dev/null @@ -1,427 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config - -// Revision History (excluding minor changes for specific compilers) -// 31 Dec 00 BOOST_NO_CV_SPECIALIZATIONS -// BOOST_NO_CV_VOID_SPECIALIZATIONS (John Maddock) -// 17 Nov 00 BOOST_NO_AUTO_PTR (John Maddock) -// 4 Oct 00 BOOST_NO_STD_MIN_MAX (Jeremy Siek) -// 29 Sep 00 BOOST_NO_INTEGRAL_INT64_T (Jens Maurer) -// 25 Sep 00 BOOST_NO_STD_ALLOCATOR (Jeremy Siek) -// 18 SEP 00 BOOST_NO_SLIST, BOOST_NO_HASH, -// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -// BOOST_NO_LIMITS (Jeremy Siek) -// 1 Sep 00 BOOST_NO_PRIVATE_IN_AGGREGATE added. (Mark Rodgers) -// 23 Jul 00 Fixed spelling of BOOST_NO_INCLASS_MEMBER_INITIALIZATION in -// comment (Dave Abrahams). -// 10 Jul 00 BOOST_NO_POINTER_TO_MEMBER_CONST added (Mark Rodgers) -// 26 Jun 00 BOOST_NO_STD_ITERATOR, BOOST_MSVC_STD_ITERATOR, -// BOOST_NO_STD_ITERATOR_TRAITS, BOOST_NO_USING_TEMPLATE, -// added (Jeremy Siek) -// 20 Jun 00 BOOST_MSVC added (Aleksey Gurtovoy) -// 14 Jun 00 BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS (Jens M.) -// 22 Mar 00 BOOST_MSVC6_MEMBER_TEMPLATES added (Dave Abrahams) -// 18 Feb 00 BOOST_NO_INCLASS_MEMBER_INITIALIZATION added (Jens Maurer) -// 26 Jan 00 Borland compiler support added (John Maddock) -// 26 Jan 00 Sun compiler support added (Jörg Schaible) -// 30 Dec 99 BOOST_NMEMBER_TEMPLATES compatibility moved here from -// smart_ptr.hpp. (Dave Abrahams) -// 15 Nov 99 BOOST_NO_OPERATORS_IN_NAMESPACE, -// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION added (Beman Dawes) -// 11 Oct 99 BOOST_NO_STDC_NAMESPACE refined; supplied -// 29 Sep 99 BOOST_NO_STDC_NAMESPACE added (Ed Brey) -// 24 Sep 99 BOOST_DECL added (Ed Brey) -// 10 Aug 99 Endedness flags added, GNU CC support added -// 22 Jul 99 Initial version - - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// Conformance Flag Macros -------------------------------------------------// -// -// Conformance flag macros should identify the absence of C++ Standard -// conformance rather than its presence. This ensures that standard conforming -// compilers do not require a lot of configuration flag macros. It places the -// burden where it should be, on non-conforming compilers. In the future, -// hopefully, less rather than more conformance flags will have to be defined. - -// BOOST_NO_CV_SPECIALIZATIONS: if template specialisations for cv-qualified types -// conflict with a specialistaion for unqualififed type. - -// BOOST_NO_CV_VOID_SPECIALIZATIONS: if template specialisations for cv-void types -// conflict with a specialistaion for void. - -// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS: Template value -// parameters cannot have a dependent type, for example -// "template class X { ... };" - -// BOOST_NO_INCLASS_MEMBER_INITIALIZATION: Compiler violates std::9.4.2/4. - -// BOOST_NO_INT64_T: does not support 64-bit integer -// types. (Set by rather than ). - -// BOOST_NO_INTEGRAL_INT64_T: int64_t as defined by is -// not an integral type. - -// BOOST_NO_MEMBER_TEMPLATES: Member template functions not fully supported. -// Also see BOOST_MSVC6_MEMBER_TEMPLATES in the Compiler Control section below. - -// BOOST_NO_MEMBER_TEMPLATE_FRIENDS: Member template friend syntax -// ("template friend class frd;") described in the C++ Standard, -// 14.5.3, not supported. - -// BOOST_NO_OPERATORS_IN_NAMESPACE: Compiler requires inherited operator -// friend functions to be defined at namespace scope, then using'ed to boost. -// Probably GCC specific. See boost/operators.hpp for example. - -// BOOST_NO_POINTER_TO_MEMBER_CONST: The compiler does not correctly handle -// pointers to const member functions, preventing use of these in overloaded -// function templates. See boost/functional.hpp for example. - -// BOOST_NO_PRIVATE_IN_AGGREGATE: The compiler misreads 8.5.1, treating classes -// as non-aggregate if they contain private or protected member functions. - -// BOOST_NO_STD_ITERATOR: The C++ implementation fails to provide the -// std::iterator class. - -// BOOST_NO_STD_ITERATOR_TRAITS: The compiler does not provide a standard -// compliant implementation of std::iterator_traits. Note that -// the compiler may still have a non-standard implementation. - -// BOOST_NO_STDC_NAMESPACE: The contents of C++ standard headers for C library -// functions (the headers) have not been placed in namespace std. -// Because the use of std::size_t is so common, a specific workaround for -// (and thus std::size_t) is provided in this header (see below). -// For other headers, a workaround must be provided in the boost header: -// -// #include // for abs -// #ifdef BOOST_NO_STDC_NAMESPACE -// namespace std { using ::abs; } -// #endif - -// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION. Class template partial -// specialization (14.5.4 [temp.class.spec]) not supported. - -// BOOST_NO_USING_TEMPLATE: The compiler will not accept a using declaration -// that imports a template from the global namespace into a named namespace. -// Probably Borland specific. - -// BOOST_NO_AUTO_PTR: If the compiler / library supplies non-standard or broken -// std::auto_ptr. - -// Compiler Control or Information Macros ----------------------------------// -// -// Compilers often supply features outside of the C++ Standard which need to be -// controlled or detected. As usual, reasonable default behavior should occur -// if any of these macros are not defined. - -// BOOST_DECL: Certain compilers for Microsoft operating systems require -// non-standard class and function decoration if dynamic load library linking -// is desired. BOOST_DECL supplies that decoration, defaulting to a nul string -// so that it is harmless when not required. Boost does not encourage the use -// of BOOST_DECL - it is non-standard and to be avoided if practical to do so. - -// BOOST_DECL_EXPORTS: User defined, BOOST_DECL_EXPORTS causes BOOST_DECL to -// be defined as __declspec(dllexport) rather than __declspec(dllimport). - -// BOOST_MSVC6_MEMBER_TEMPLATES: Microsoft Visual C++ 6.0 has enough member -// template idiosyncrasies (being polite) that BOOST_NO_MEMBER_TEMPLATES is -// defined for this compiler. BOOST_MSVC6_MEMBER_TEMPLATES is defined to allow -// compiler specific workarounds. - -// BOOST_MSVC: defined as _MSC_VER for the Microsoft compiler only. In general, -// boost headers should test for a specific conformance flag macro (for -// example, BOOST_NO_MEMBER_TEMPLATE_FRIENDS) rather than a specific compiler. -// VC++ is a special case, however, since many libraries try to support it yet -// it has so many conformance issues that sometimes it is just easier to test -// for it directly. On the other hand, the obvious way to do this doesn't work, -// as many non-Microsoft compilers define _MSC_VER. Thus BOOST_MSVC. - -// BOOST_MSVC_STD_ITERATOR: Microsoft's broken version of std::iterator -// is being used. - -// BOOST_SYSTEM_HAS_STDINT_H: There are no 1998 C++ Standard headers -// or , although the 1999 C Standard does include . -// If is present, can make good use of it, -// so a flag is supplied (signalling presence; thus the default is not -// present, conforming to the current C++ standard). - -// BOOST_NO_SLIST: The C++ implementation does not provide the slist class. - -// BOOST_NO_HASH: The C++ implementation does not provide the hash_set -// or hash_map classes. - -// BOOST_STD_EXTENSION_NAMESPACE: The name of the namespace in which the slist, -// hash_set and/or hash_map templates are defined in this implementation (if any). - -// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS: The standard library does not provide -// templated iterator constructors for its containers. - -// BOOST_NO_LIMITS: The C++ implementation does not provide the header. - -// BOOST_NO_INTRINSIC_WCHAR_T: The C++ implementation does not provide wchar_t, -// or it is really a synonym for another integral type. Use this symbol to -// decide whether it is appropriate to explicitly specialize a template on -// wchar_t if there is already a specialization for other integer types. - -// BOOST_NO_STD_ALLOCATOR: The C++ standard library does not provide -// a standards conforming std::allocator. - -// BOOST_NO_STD_MIN_MAX: The C++ standard library does not provide -// the min() and max() template functions that should be in . - -// Compilers are listed in alphabetic order (except VC++ last - see below)---// - -// GNU CC (also known as GCC and G++) --------------------------------------// - -# if defined __GNUC__ -# if __GNUC__ == 2 && __GNUC_MINOR__ == 91 - // egcs 1.1 won't parse smart_ptr.hpp without this: -# define BOOST_NO_AUTO_PTR -# endif -# if __GNUC__ == 2 && __GNUC_MINOR__ <= 95 -# include // not sure this is the right way to do this -JGS -# if !defined(_CXXRT_STD) && !defined(__SGI_STL) // need to ask Dietmar about this -JGS -# define BOOST_NO_STD_ITERATOR -# define BOOST_NO_LIMITS -# endif -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -# if __GNUC__ == 2 && __GNUC_MINOR__ <= 8 -# define BOOST_NO_MEMBER_TEMPLATES -# endif - -// Kai C++ ------------------------------------------------------------------// - -#elif defined __KCC -# define BOOST_NO_SLIST -# define BOOST_NO_HASH - -// Greenhills C++ -----------------------------------------------------------// - -#elif defined __ghs -# define BOOST_NO_SLIST -# define BOOST_NO_HASH - -// Borland ------------------------------------------------------------------// - -#elif defined __BORLANDC__ -# define BOOST_NO_SLIST -# define BOOST_NO_HASH -# if __BORLANDC__ <= 0x0551 -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# endif -# if __BORLANDC__ <= 0x0550 -// Borland C++ Builder 4 and 5: -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_USING_TEMPLATE -# if __BORLANDC__ == 0x0550 -// Borland C++ Builder 5, command-line compiler 5.5: -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -# endif -# if defined BOOST_DECL_EXPORTS -# define BOOST_DECL __declspec(dllexport) -# else -# define BOOST_DECL __declspec(dllimport) -# endif -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS - -// Intel -------------------------------------------------------------------// - -# elif defined __ICL -# include // not sure this is the right way to do this -JGS -# if __SGI_STL_PORT >= 0x400 || __SGI_STL_PORT >= 0x321 && defined(__STL_USE_NAMESPACES) - // a perfectly good implementation of std::iterator is supplied -# elif defined(__SGI_STL_ITERATOR) -# define BOOST_NO_STD_ITERATOR // No std::iterator in this case -# else // assume using dinkumware's STL that comes with VC++ 6.0 -# define BOOST_MSVC_STD_ITERATOR -# define BOOST_NO_STD_ITERATOR_TRAITS -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_SLIST -# define BOOST_NO_HASH -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STD_MIN_MAX -# endif - - -// Metrowerks CodeWarrior --------------------------------------------------// - -# elif defined __MWERKS__ -# if __MWERKS__ <= 0x4000 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# endif -# if __MWERKS__ <= 0x2301 -# define BOOST_NO_POINTER_TO_MEMBER_CONST -# endif -# if __MWERKS__ >= 0x2300 -# define BOOST_SYSTEM_HAS_STDINT_H -# endif -# if defined BOOST_DECL_EXPORTS -# define BOOST_DECL __declspec(dllexport) -# else -# define BOOST_DECL __declspec(dllimport) -# endif - -# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks - -// Sun Workshop Compiler C++ ------------------------------------------------// - -# elif defined __SUNPRO_CC -# if __SUNPRO_CC <= 0x500 -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# endif - -// Microsoft Visual C++ (excluding Intel/EDG front end) --------------------// -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER - -# elif defined _MSC_VER -# define BOOST_MSVC _MSC_VER - - // turn off the warnings before we #include anything -# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info -# pragma warning( disable : 4503 ) // warning: decorated name length exceeded - -# if _MSC_VER <= 1200 // 1200 == VC++ 6.0 -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_PRIVATE_IN_AGGREGATE - -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_INTRINSIC_WCHAR_T - -// VC++ 6.0 has member templates but they have numerous problems including -// cases of silent failure, so for safety we define: -# define BOOST_NO_MEMBER_TEMPLATES -// For VC++ experts wishing to attempt workarounds, we define: -# define BOOST_MSVC6_MEMBER_TEMPLATES - -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS - -# include // not sure this is the right way to do this -JGS -# if __SGI_STL_PORT >= 0x400 || __SGI_STL_PORT >= 0x321 && defined(__STL_USE_NAMESPACES) - // a perfectly good implementation of std::iterator is supplied -# elif defined(__SGI_STL_ITERATOR) -# define BOOST_NO_STD_ITERATOR // No std::iterator in this case -# else -# define BOOST_MSVC_STD_ITERATOR 1 -# define BOOST_NO_SLIST -# define BOOST_NO_HASH -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# ifndef _CPPLIB_VER - // Updated Dinkum library defines this, and provides - // its own min and max definitions. -# define BOOST_NO_STD_MIN_MAX -# undef min -# undef max -# endif -# ifndef NOMINMAX - // avoid spurious NOMINMAX redefinition warning -# define NOMINMAX -# endif -# endif -# define BOOST_NO_STD_ITERATOR_TRAITS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS - - -// Make sure at least one standard library header is included so that library -// implementation detection will work, even if no standard headers have been -// included in front of a boost header. (Ed Brey 5 Jun 00) -# include - -// Determine if the standard library implementation is already pulling names -// into std. STLport defines the following if so. (Ed Brey 5 Jun 00) -# ifndef __STL_IMPORT_VENDOR_CSTD -# define BOOST_NO_STDC_NAMESPACE -# endif - -# endif - -# if defined BOOST_DECL_EXPORTS -# define BOOST_DECL __declspec(dllexport) -# else -# define BOOST_DECL __declspec(dllimport) -# endif - -# endif // Microsoft (excluding Intel/EDG frontend) - -# ifndef BOOST_DECL -# define BOOST_DECL // default for compilers not needing this decoration. -# endif - -// end of compiler specific portion ----------------------------------------// - -#ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -#endif - -// Check for old name "BOOST_NMEMBER_TEMPLATES" for compatibility -----------// -// Don't use BOOST_NMEMBER_TEMPLATES. It is deprecated and will be removed soon. -#if defined( BOOST_NMEMBER_TEMPLATES ) && !defined( BOOST_NO_MEMBER_TEMPLATES ) - #define BOOST_NO_MEMBER_TEMPLATES -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# ifdef BOOST_NO_STDC_NAMESPACE -# include - namespace std { using ::ptrdiff_t; using ::size_t; } - // using ::wchar_t; removed since wchar_t is a C++ built-in type (Ed Brey) -# endif - -#ifdef BOOST_NO_STD_MIN_MAX -namespace std { - template - inline const _Tp& min(const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max(const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -#ifdef BOOST_MSVC - inline long min(long __a, long __b) { - return __b < __a ? __b : __a; - } - inline long max(long __a, long __b) { - return __a < __b ? __b : __a; - } -#endif -} -#endif - -#endif // BOOST_CONFIG_HPP - - - - - - diff --git a/development/include/boost/detail/call_traits.hpp b/development/include/boost/detail/call_traits.hpp deleted file mode 100644 index 304a686..0000000 --- a/development/include/boost/detail/call_traits.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. - -// call_traits: defines typedefs for function usage -// (see libs/utility/call_traits.htm) - -/* Release notes: - 23rd July 2000: - Fixed array specialization. (JM) - Added Borland specific fixes for reference types - (issue raised by Steve Cleary). -*/ - -#ifndef BOOST_DETAIL_CALL_TRAITS_HPP -#define BOOST_DETAIL_CALL_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -#include -#endif - -#ifndef BOOST_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -namespace detail{ - -template -struct ct_imp -{ - typedef const T& param_type; -}; - -template -struct ct_imp -{ - typedef T const param_type; -}; - -template -struct ct_imp -{ - typedef T const param_type; -}; - -} - -template -struct call_traits -{ -public: - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - // - // C++ Builder workaround: we should be able to define a compile time - // constant and pass that as a single template parameter to ct_imp, - // however compiler bugs prevent this - instead pass three bool's to - // ct_imp and add an extra partial specialisation - // of ct_imp to handle the logic. (JM) - typedef typename detail::ct_imp::type>::value, ::boost::is_arithmetic::type>::value, sizeof(T) <= sizeof(void*)>::param_type param_type; -}; - -template -struct call_traits -{ - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& param_type; // hh removed const -}; - -#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template -struct call_traits -{ - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& param_type; // hh removed const -}; -template -struct call_traits -{ - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& param_type; // hh removed const -}; -template -struct call_traits -{ - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& param_type; // hh removed const -}; -#endif - -template -struct call_traits -{ -private: - typedef T array_type[N]; -public: - // degrades array to pointer: - typedef const T* value_type; - typedef array_type& reference; - typedef const array_type& const_reference; - typedef const T* const param_type; -}; - -template -struct call_traits -{ -private: - typedef const T array_type[N]; -public: - // degrades array to pointer: - typedef const T* value_type; - typedef array_type& reference; - typedef const array_type& const_reference; - typedef const T* const param_type; -}; - -} - -#endif // BOOST_DETAIL_CALL_TRAITS_HPP diff --git a/development/include/boost/detail/ob_call_traits.hpp b/development/include/boost/detail/ob_call_traits.hpp deleted file mode 100644 index a031f17..0000000 --- a/development/include/boost/detail/ob_call_traits.hpp +++ /dev/null @@ -1,125 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// -// Crippled version for crippled compilers: -// see libs/utility/call_traits.htm -// - -/* Release notes: - 01st October 2000: - Fixed call_traits on VC6, using "poor man's partial specialisation", - using ideas taken from "Generative programming" by Krzysztof Czarnecki - & Ulrich Eisenecker. -*/ - -#ifndef BOOST_OB_CALL_TRAITS_HPP -#define BOOST_OB_CALL_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -#include -#endif - -#ifndef BOOST_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -#if defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_MEMBER_TEMPLATES) -// -// use member templates to emulate -// partial specialisation: -// -namespace detail{ - -template -struct standard_call_traits -{ - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& param_type; -}; -template -struct simple_call_traits -{ - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T param_type; -}; -template -struct reference_call_traits -{ - typedef T value_type; - typedef T reference; - typedef T const_reference; - typedef T param_type; -}; -template -struct call_traits_chooser -{ - template - struct rebind - { - typedef standard_call_traits type; - }; -}; -template <> -struct call_traits_chooser -{ - template - struct rebind - { - typedef simple_call_traits type; - }; -}; -template <> -struct call_traits_chooser -{ - template - struct rebind - { - typedef reference_call_traits type; - }; -}; -} // namespace detail -template -struct call_traits -{ -private: - typedef detail::call_traits_chooser<(is_pointer::value || is_arithmetic::value) && sizeof(T) <= sizeof(void*), is_reference::value> chooser; - typedef typename chooser::template rebind bound_type; - typedef typename bound_type::type call_traits_type; -public: - typedef typename call_traits_type::value_type value_type; - typedef typename call_traits_type::reference reference; - typedef typename call_traits_type::const_reference const_reference; - typedef typename call_traits_type::param_type param_type; -}; - -#else -// -// sorry call_traits is completely non-functional -// blame your broken compiler: -// - -template -struct call_traits -{ - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& param_type; -}; - -#endif // member templates - -} - -#endif // BOOST_OB_CALL_TRAITS_HPP diff --git a/development/include/boost/smart_ptr.hpp b/development/include/boost/smart_ptr.hpp deleted file mode 100644 index 59e42a7..0000000 --- a/development/include/boost/smart_ptr.hpp +++ /dev/null @@ -1,379 +0,0 @@ -// Boost smart_ptr.hpp header file -----------------------------------------// - -// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. Permission to copy, -// use, modify, sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided "as is" -// without express or implied warranty, and with no claim as to its -// suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. - -// Revision History -// 19 Oct 00 Make shared_ptr ctor from auto_ptr explicit. (Robert Vugts) -// 24 Jul 00 Change throw() to // never throws. See lib guidelines -// Exception-specification rationale. (Beman Dawes) -// 22 Jun 00 Remove #if continuations to fix GCC 2.95.2 problem (Beman Dawes) -// 1 Feb 00 Additional shared_ptr BOOST_NO_MEMBER_TEMPLATES workarounds -// (Dave Abrahams) -// 31 Dec 99 Condition tightened for no member template friend workaround -// (Dave Abrahams) -// 30 Dec 99 Moved BOOST_NMEMBER_TEMPLATES compatibility code to config.hpp -// (Dave Abrahams) -// 30 Nov 99 added operator ==, operator !=, and std::swap and std::less -// specializations for shared types (Darin Adler) -// 11 Oct 99 replaced op[](int) with op[](std::size_t) (Ed Brey, Valentin -// Bonnard), added shared_ptr workaround for no member template -// friends (Matthew Langston) -// 25 Sep 99 added shared_ptr::swap and shared_array::swap (Luis Coelho). -// 20 Jul 99 changed name to smart_ptr.hpp, #include , -// #include and use boost::noncopyable -// 17 May 99 remove scoped_array and shared_array operator*() as -// unnecessary (Beman Dawes) -// 14 May 99 reorder code so no effects when bad_alloc thrown (Abrahams/Dawes) -// 13 May 99 remove certain throw() specifiers to avoid generated try/catch -// code cost (Beman Dawes) -// 11 May 99 get() added, conversion to T* placed in macro guard (Valentin -// Bonnard, Dave Abrahams, and others argued for elimination -// of the automatic conversion) -// 28 Apr 99 #include fix (Valentin Bonnard) -// 28 Apr 99 rename transfer() to share() for clarity (Dave Abrahams) -// 28 Apr 99 remove unsafe shared_array template conversions(Valentin Bonnard) -// 28 Apr 99 p(r) changed to p(r.px) for clarity (Dave Abrahams) -// 21 Apr 99 reset() self assignment fix (Valentin Bonnard) -// 21 Apr 99 dispose() provided to improve clarity (Valentin Bonnard) -// 27 Apr 99 leak when new throws fixes (Dave Abrahams) -// 21 Oct 98 initial Version (Greg Colvin/Beman Dawes) - -#ifndef BOOST_SMART_PTR_HPP -#define BOOST_SMART_PTR_HPP - -#include // for broken compiler workarounds -#include // for std::size_t -#include // for std::auto_ptr -#include // for std::swap -#include // for boost::noncopyable -#include // for std::less - -namespace boost { - -// scoped_ptr --------------------------------------------------------------// - -// scoped_ptr mimics a built-in pointer except that it guarantees deletion -// of the object pointed to, either on destruction of the scoped_ptr or via -// an explicit reset(). scoped_ptr is a simple solution for simple needs; -// see shared_ptr (below) or std::auto_ptr if your needs are more complex. - -template class scoped_ptr : noncopyable { - - T* ptr; - - public: - typedef T element_type; - - explicit scoped_ptr( T* p=0 ) : ptr(p) {} // never throws - ~scoped_ptr() { delete ptr; } - - void reset( T* p=0 ) { if ( ptr != p ) { delete ptr; ptr = p; } } - T& operator*() const { return *ptr; } // never throws - T* operator->() const { return ptr; } // never throws - T* get() const { return ptr; } // never throws -#ifdef BOOST_SMART_PTR_CONVERSION - // get() is safer! Define BOOST_SMART_PTR_CONVERSION at your own risk! - operator T*() const { return ptr; } // never throws -#endif - }; // scoped_ptr - -// scoped_array ------------------------------------------------------------// - -// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to -// is guaranteed, either on destruction of the scoped_array or via an explicit -// reset(). See shared_array or std::vector if your needs are more complex. - -template class scoped_array : noncopyable { - - T* ptr; - - public: - typedef T element_type; - - explicit scoped_array( T* p=0 ) : ptr(p) {} // never throws - ~scoped_array() { delete [] ptr; } - - void reset( T* p=0 ) { if ( ptr != p ) {delete [] ptr; ptr=p;} } - - T* get() const { return ptr; } // never throws -#ifdef BOOST_SMART_PTR_CONVERSION - // get() is safer! Define BOOST_SMART_PTR_CONVERSION at your own risk! - operator T*() const { return ptr; } // never throws -#else - T& operator[](std::size_t i) const { return ptr[i]; } // never throws -#endif - }; // scoped_array - -// shared_ptr --------------------------------------------------------------// - -// An enhanced relative of scoped_ptr with reference counted copy semantics. -// The object pointed to is deleted when the last shared_ptr pointing to it -// is destroyed or reset. - -template class shared_ptr { - public: - typedef T element_type; - - explicit shared_ptr(T* p =0) : px(p) { - try { pn = new long(1); } // fix: prevent leak if new throws - catch (...) { delete p; throw; } - } - - shared_ptr(const shared_ptr& r) : px(r.px) { ++*(pn = r.pn); } // never throws - - ~shared_ptr() { dispose(); } - - shared_ptr& operator=(const shared_ptr& r) { - share(r.px,r.pn); - return *this; - } - -#if !defined( BOOST_NO_MEMBER_TEMPLATES ) - template - shared_ptr(const shared_ptr& r) : px(r.px) { // never throws - ++*(pn = r.pn); - } -#ifndef BOOST_NO_AUTO_PTR - template - explicit shared_ptr(std::auto_ptr& r) { - pn = new long(1); // may throw - px = r.release(); // fix: moved here to stop leak if new throws - } -#endif - - template - shared_ptr& operator=(const shared_ptr& r) { - share(r.px,r.pn); - return *this; - } - -#ifndef BOOST_NO_AUTO_PTR - template - shared_ptr& operator=(std::auto_ptr& r) { - // code choice driven by guarantee of "no effect if new throws" - if (*pn == 1) { delete px; } - else { // allocate new reference counter - long * tmp = new long(1); // may throw - --*pn; // only decrement once danger of new throwing is past - pn = tmp; - } // allocate new reference counter - px = r.release(); // fix: moved here so doesn't leak if new throws - return *this; - } -#endif -#else -#ifndef BOOST_NO_AUTO_PTR - explicit shared_ptr(std::auto_ptr& r) { - pn = new long(1); // may throw - px = r.release(); // fix: moved here to stop leak if new throws - } - - shared_ptr& operator=(std::auto_ptr& r) { - // code choice driven by guarantee of "no effect if new throws" - if (*pn == 1) { delete px; } - else { // allocate new reference counter - long * tmp = new long(1); // may throw - --*pn; // only decrement once danger of new throwing is past - pn = tmp; - } // allocate new reference counter - px = r.release(); // fix: moved here so doesn't leak if new throws - return *this; - } -#endif -#endif - - void reset(T* p=0) { - if ( px == p ) return; // fix: self-assignment safe - if (--*pn == 0) { delete px; } - else { // allocate new reference counter - try { pn = new long; } // fix: prevent leak if new throws - catch (...) { - ++*pn; // undo effect of --*pn above to meet effects guarantee - delete p; - throw; - } // catch - } // allocate new reference counter - *pn = 1; - px = p; - } // reset - - T& operator*() const { return *px; } // never throws - T* operator->() const { return px; } // never throws - T* get() const { return px; } // never throws - #ifdef BOOST_SMART_PTR_CONVERSION - // get() is safer! Define BOOST_SMART_PTR_CONVERSION at your own risk! - operator T*() const { return px; } // never throws - #endif - - long use_count() const { return *pn; } // never throws - bool unique() const { return *pn == 1; } // never throws - - void swap(shared_ptr& other) // never throws - { std::swap(px,other.px); std::swap(pn,other.pn); } - -// Tasteless as this may seem, making all members public allows member templates -// to work in the absence of member template friends. (Matthew Langston) -// Don't split this line into two; that causes problems for some GCC 2.95.2 builds -#if defined(BOOST_NO_MEMBER_TEMPLATES) || !defined( BOOST_NO_MEMBER_TEMPLATE_FRIENDS ) - private: -#endif - - T* px; // contained pointer - long* pn; // ptr to reference counter - -// Don't split this line into two; that causes problems for some GCC 2.95.2 builds -#if !defined( BOOST_NO_MEMBER_TEMPLATES ) && !defined( BOOST_NO_MEMBER_TEMPLATE_FRIENDS ) - template friend class shared_ptr; -#endif - - void dispose() { if (--*pn == 0) { delete px; delete pn; } } - - void share(T* rpx, long* rpn) { - if (pn != rpn) { - dispose(); - px = rpx; - ++*(pn = rpn); - } - } // share -}; // shared_ptr - -template - inline bool operator==(const shared_ptr& a, const shared_ptr& b) - { return a.get() == b.get(); } - -template - inline bool operator!=(const shared_ptr& a, const shared_ptr& b) - { return a.get() != b.get(); } - -// shared_array ------------------------------------------------------------// - -// shared_array extends shared_ptr to arrays. -// The array pointed to is deleted when the last shared_array pointing to it -// is destroyed or reset. - -template class shared_array { - public: - typedef T element_type; - - explicit shared_array(T* p =0) : px(p) { - try { pn = new long(1); } // fix: prevent leak if new throws - catch (...) { delete [] p; throw; } - } - - shared_array(const shared_array& r) : px(r.px) // never throws - { ++*(pn = r.pn); } - - ~shared_array() { dispose(); } - - shared_array& operator=(const shared_array& r) { - if (pn != r.pn) { - dispose(); - px = r.px; - ++*(pn = r.pn); - } - return *this; - } // operator= - - void reset(T* p=0) { - if ( px == p ) return; // fix: self-assignment safe - if (--*pn == 0) { delete [] px; } - else { // allocate new reference counter - try { pn = new long; } // fix: prevent leak if new throws - catch (...) { - ++*pn; // undo effect of --*pn above to meet effects guarantee - delete [] p; - throw; - } // catch - } // allocate new reference counter - *pn = 1; - px = p; - } // reset - - T* get() const { return px; } // never throws - #ifdef BOOST_SMART_PTR_CONVERSION - // get() is safer! Define BOOST_SMART_PTR_CONVERSION at your own risk! - operator T*() const { return px; } // never throws - #else - T& operator[](std::size_t i) const { return px[i]; } // never throws - #endif - - long use_count() const { return *pn; } // never throws - bool unique() const { return *pn == 1; } // never throws - - void swap(shared_array& other) // never throws - { std::swap(px,other.px); std::swap(pn,other.pn); } - - private: - - T* px; // contained pointer - long* pn; // ptr to reference counter - - void dispose() { if (--*pn == 0) { delete [] px; delete pn; } } - -}; // shared_array - -template - inline bool operator==(const shared_array& a, const shared_array& b) - { return a.get() == b.get(); } - -template - inline bool operator!=(const shared_array& a, const shared_array& b) - { return a.get() != b.get(); } - -} // namespace boost - -// specializations for things in namespace std -----------------------------// - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -namespace std { - -// Specialize std::swap to use the fast, non-throwing swap that's provided -// as a member function instead of using the default algorithm which creates -// a temporary and uses assignment. - -template - inline void swap(boost::shared_ptr& a, boost::shared_ptr& b) - { a.swap(b); } - -template - inline void swap(boost::shared_array& a, boost::shared_array& b) - { a.swap(b); } - -// Specialize std::less so we can use shared pointers and arrays as keys in -// associative collections. - -// It's still a controversial question whether this is better than supplying -// a full range of comparison operators (<, >, <=, >=). - -template - struct less< boost::shared_ptr > - : binary_function, boost::shared_ptr, bool> - { - bool operator()(const boost::shared_ptr& a, - const boost::shared_ptr& b) const - { return less()(a.get(),b.get()); } - }; - -template - struct less< boost::shared_array > - : binary_function, boost::shared_array, bool> - { - bool operator()(const boost::shared_array& a, - const boost::shared_array& b) const - { return less()(a.get(),b.get()); } - }; - -} // namespace std - -#endif // ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#endif // BOOST_SMART_PTR_HPP - - diff --git a/development/include/boost/timer.hpp b/development/include/boost/timer.hpp deleted file mode 100644 index 6ccb436..0000000 --- a/development/include/boost/timer.hpp +++ /dev/null @@ -1,57 +0,0 @@ -// boost timer.hpp header file ---------------------------------------------// - -// (C) Copyright Beman Dawes 1994-99. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. - -// Revision History -// 25 Sep 99 elapsed_max() and elapsed_min() added (John Maddock) -// 16 Jul 99 Second beta -// 6 Jul 99 Initial boost version - -#ifndef BOOST_TIMER_HPP -#define BOOST_TIMER_HPP - -#include - -namespace boost { - -// timer -------------------------------------------------------------------// - -// A timer object measures elapsed time. - -// It is recommended that implementations measure wall clock rather than CPU -// time since the intended use is performance measurement on systems where -// total elapsed time is more important than just process or CPU time. - -// Warnings: The maximum measurable elapsed time may well be only 596.5+ hours -// due to implementation limitations. The accuracy of timings depends on the -// accuracy of timing information provided by the underlying platform, and -// this varies a great deal from platform to platform. - -class timer { - -public: - timer(); // postcondition: elapsed()==0 - timer( const timer& src ); // post: elapsed()==src.elapsed() - ~timer(); - timer& operator=( const timer& src ); // post: elapsed()==src.elapsed() - void restart(); // post: elapsed()==0 - double elapsed() const; // return elapsed time in seconds - - double elapsed_max() const; // return estimated maximum value for elapsed() - // Portability warning: elapsed_max() may return too high a value on systems - // where std::clock_t overflows or resets at surprising values. - double elapsed_min() const; // return minimum value for elapsed() - -private: - class _timer; - scoped_ptr<_timer> _imp; // hide implementation details - }; // timer - -} // namespace boost - -#endif // BOOST_TIMER_HPP diff --git a/development/include/boost/type_traits.hpp b/development/include/boost/type_traits.hpp deleted file mode 100644 index 04dcc68..0000000 --- a/development/include/boost/type_traits.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// (C) Copyright Boost.org 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// See boost/detail/type_traits.hpp and boost/detail/ob_type_traits.hpp -// for full copyright notices. - -#ifndef BOOST_TYPE_TRAITS_HPP -#define BOOST_TYPE_TRAITS_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/**************************************************************************/ - -// -// undefine helper macro's: -// -#undef BOOST_IS_CLASS -#undef BOOST_IS_ENUM -#undef BOOST_IS_UNION -#undef BOOST_IS_POD -#undef BOOST_IS_EMPTY -#undef BOOST_HAS_TRIVIAL_CONSTRUCTOR -#undef BOOST_HAS_TRIVIAL_COPY -#undef BOOST_HAS_TRIVIAL_ASSIGN -#undef BOOST_HAS_TRIVIAL_DESTRUCTOR - -#endif // BOOST_TYPE_TRAITS_HPP - - - diff --git a/development/include/boost/type_traits/alignment_traits.hpp b/development/include/boost/type_traits/alignment_traits.hpp deleted file mode 100644 index 7de0c30..0000000 --- a/development/include/boost/type_traits/alignment_traits.hpp +++ /dev/null @@ -1,82 +0,0 @@ - -// (C) Copyright John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// -// defines alignment_of: - -#ifndef ALIGNMENT_TYPE_TRAITS_HPP -#define ALIGNMENT_TYPE_TRAITS_HPP - -#include -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ -// -// get the alignment of some arbitrary type: -namespace detail{ - -template -struct alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; - -template -struct alignment_logic -{ - BOOST_DECL_MC(std::size_t, value, A < S ? A : S); -}; - -} // namespace detail - -template -struct alignment_of -{ - BOOST_DECL_MC(std::size_t, value, - (::boost::detail::alignment_logic< - sizeof(detail::alignment_of_hack) - sizeof(T), - sizeof(T) - >::value)); -}; - -// -// references have to be treated specially, assume -// that a reference is just a special pointer: -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct alignment_of -{ -public: - BOOST_DECL_MC(std::size_t, value, alignment_of::value); -}; -#endif -// -// void has to be treated specially: -template <> -struct alignment_of -{ BOOST_DECL_MC(std::size_t, value, 0); }; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct alignment_of -{ BOOST_DECL_MC(std::size_t, value, 0); }; -template <> -struct alignment_of -{ BOOST_DECL_MC(std::size_t, value, 0); }; -template <> -struct alignment_of -{ BOOST_DECL_MC(std::size_t, value, 0); }; -#endif - -} // namespace boost - -#endif // ALIGNMENT_TYPE_TRAITS_HPP - - diff --git a/development/include/boost/type_traits/arithmetic_traits.hpp b/development/include/boost/type_traits/arithmetic_traits.hpp deleted file mode 100644 index abd4cd9..0000000 --- a/development/include/boost/type_traits/arithmetic_traits.hpp +++ /dev/null @@ -1,262 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines traits classes for arithmetic types: -// is_void, is_integral, is_float, is_arithmetic, is_fundamental. -// - - -#ifndef ARITHMETIC_TYPE_TRAITS_HPP -#define ARITHMETIC_TYPE_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -//* is a type T void - is_void -template struct is_void{ BOOST_DECL_MC(bool, value, false); }; -template <> struct is_void{ BOOST_DECL_MC(bool, value, true); }; - -//* is a type T an integral type described in the standard (3.9.1p3) -template struct is_integral -{ BOOST_DECL_MC(bool, value, false); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#ifndef BOOST_MSVC -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; - -#if defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral<__int64> -{ BOOST_DECL_MC(bool, value, true); }; -#endif - -//* is a type T a floating-point type described in the standard (3.9.1p8) -template struct is_float -{ BOOST_DECL_MC(bool, value, false); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; - -// -// declare cv-qualified specialisations of these templates only -// if BOOST_NO_CV_SPECIALIZATIONS is not defined: -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct is_void -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_void -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_void -{ BOOST_DECL_MC(bool, value, true); }; -#endif -#ifndef BOOST_NO_CV_SPECIALIZATIONS -// const-variations: -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#ifndef BOOST_MSVC -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; - -#if defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif // ULLONG_MAX -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif //__int64 - -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; - -// volatile-variations: -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#ifndef BOOST_MSVC -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; - -#ifdef ULLONG_MAX -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif // ULLONG_MAX -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif //__int64 - -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; - -// const-volatile-variations: -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#ifndef BOOST_MSVC -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; - -#ifdef ULLONG_MAX -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif // ULLONG_MAX -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_integral -{ BOOST_DECL_MC(bool, value, true); }; -#endif //__int64 - -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; -template <> struct is_float -{ BOOST_DECL_MC(bool, value, true); }; - -#endif // BOOST_NO_CV_SPECIALIZATIONS - -//* is a type T an arithmetic type described in the standard (3.9.1p8) -template -struct is_arithmetic -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_integral::value, - ::boost::is_float::value - >::value)); -}; - -//* is a type T a fundamental type described in the standard (3.9.1) -template -struct is_fundamental -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_arithmetic::value, - ::boost::is_void::value - >::value)); -}; - -} // namespace boost - -#endif - - - - - diff --git a/development/include/boost/type_traits/composite_traits.hpp b/development/include/boost/type_traits/composite_traits.hpp deleted file mode 100644 index fd7b62d..0000000 --- a/development/include/boost/type_traits/composite_traits.hpp +++ /dev/null @@ -1,357 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines traits classes for composite types: -// is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union. -// -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). -// Mat Marcus and Jesse Jones posted a version of is_pointer very similar to this one -// on the boost list (Copyright 2000 Adobe Systems Incorporated and others. -// All rights reserved.). -// Fixes for is_array are based on a newgroup posting by Jonathan Lundquist. - -#ifndef COMPOSITE_TYPE_TRAITS_HPP -#define COMPOSITE_TYPE_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_CONVERSION_TYPE_TRAITS_HPP -#include -#endif -#ifndef CV_TYPE_TRAITS_HPP -#include -#endif -#ifndef ARITHMETIC_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -/********************************************** - * - * is_array - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template struct is_array -{ BOOST_DECL_MC(bool, value, false); }; -template struct is_array -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_array -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_array -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_array -{ BOOST_DECL_MC(bool, value, true); }; -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace detail{ - struct pointer_helper - { - pointer_helper(const volatile void*); - }; - yes_type is_pointer_helper(pointer_helper); - no_type is_pointer_helper(...); - template - yes_type is_pointer_helper3(T (*)(void)); - template - yes_type is_pointer_helper3(T (*)(A1)); - template - yes_type is_pointer_helper3(T (*)(A1, A2)); - template - yes_type is_pointer_helper3(T (*)(A1, A2, A3)); - no_type is_pointer_helper3(...); - - yes_type is_array_helper(const volatile void*, const volatile void*); - template - no_type is_array_helper(T*const volatile*, const volatile void*); - no_type is_array_helper(...); -} // namespace detail -template -struct is_array -{ -private: - static T t; -public: - BOOST_DECL_MC(bool, value, (1 == sizeof(detail::is_array_helper(&t, t))) - & !is_reference::value - & !(1 == sizeof(detail::is_pointer_helper3(t))) ); -}; -template <> -struct is_array -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct is_array -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_array -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_array -{ - BOOST_DECL_MC(bool, value, false); -}; -#endif - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -/********************************************** - * - * is_pointer - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace detail{ -template struct is_pointer_helper -{ BOOST_DECL_MC(bool, value, false); }; -template struct is_pointer_helper -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_pointer_helper -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_pointer_helper -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_pointer_helper -{ BOOST_DECL_MC(bool, value, true); }; -} // namespace detail -template struct is_pointer -{ BOOST_DECL_MC(bool, value, (::boost::type_traits::ice_and< ::boost::detail::is_pointer_helper::value, !::boost::is_member_pointer::value>::value)); }; -#else -template -struct is_pointer -{ -private: - static T t; -public: - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - !::boost::is_reference::value, - !::boost::is_array::value, - (::boost::type_traits::ice_or< - (1 == sizeof(detail::is_pointer_helper(t))), - (1 == sizeof(detail::is_pointer_helper3(t))) - >::value) - >::value ) ); -}; -template <> -struct is_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct is_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -#endif -#endif - -/********************************************** - * - * is_reference - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template struct is_reference -{ BOOST_DECL_MC(bool, value, false); }; -template struct is_reference -{ BOOST_DECL_MC(bool, value, true); }; -#if defined(__BORLANDC__) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template struct is_reference -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_reference -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_reference -{ BOOST_DECL_MC(bool, value, true); }; -#endif -#else -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4181) -# endif // BOOST_MSVC -template struct is_reference -{ -private: - typedef T const volatile cv_t; -public: - BOOST_DECL_MC(bool, value, (::boost::type_traits::ice_or::value, !::boost::is_volatile::value>::value)); -}; -template <> struct is_reference -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct is_reference -{ BOOST_DECL_MC(bool, value, false); }; -template <> struct is_reference -{ BOOST_DECL_MC(bool, value, false); }; -template <> struct is_reference -{ BOOST_DECL_MC(bool, value, false); }; -#endif - -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif // BOOST_MSVC -#endif - -/********************************************** - * - * is_union - * - **********************************************/ -template struct is_union -{ -private: - typedef typename remove_cv::type cvt; -public: - BOOST_DECL_MC(bool, value, BOOST_IS_UNION(cvt)); -}; - -/********************************************** - * - * is_enum - * - **********************************************/ -namespace detail{ -struct int_convertible -{ - int_convertible(int); -}; -} // namespace detail -#ifndef __BORLANDC__ -template struct is_enum -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - !::boost::is_arithmetic::value, - !::boost::is_reference::value, - ::boost::is_convertible::value - >::value)); -}; -#else // __BORLANDC__ -// -// buggy is_convertible prevents working -// implementation of is_enum: -template struct is_enum -{ -public: - BOOST_DECL_MC(bool, value, BOOST_IS_ENUM(T)); -}; -#endif - -/********************************************** - * - * is_member_pointer - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, false); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -#ifdef __GNUC__ -// gcc workaround (JM 02 Oct 2000) -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -template struct is_member_pointer -{ BOOST_DECL_MC(bool, value, true); }; -#endif -#else -namespace detail{ - template - yes_type is_member_pointer_helper(T (U::*)); - template - yes_type is_member_pointer_helper(T (U::*)(void)); - template - yes_type is_member_pointer_helper(T (U::*)(A1)); - template - yes_type is_member_pointer_helper(T (U::*)(A1, A2)); - template - yes_type is_member_pointer_helper(T (U::*)(A1, A2, A3)); - template - yes_type is_member_pointer_helper(T (U::*)(A1, A2, A3, A4)); - template - yes_type is_member_pointer_helper(T (U::*)(A1, A2, A3, A4, A5)); - no_type is_member_pointer_helper(...); -} -template -struct is_member_pointer -{ -private: - static T t; -public: - BOOST_DECL_MC(bool, value, (1 == sizeof(detail::is_member_pointer_helper(t))) ); -}; -template <> -struct is_member_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct is_member_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_member_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_member_pointer -{ - BOOST_DECL_MC(bool, value, false); -}; -#endif - -#endif - - -} // namespace boost - -#endif // COMPOSITE_TYPE_TRAITS_HPP - - - - - diff --git a/development/include/boost/type_traits/conversion_traits.hpp b/development/include/boost/type_traits/conversion_traits.hpp deleted file mode 100644 index dcc2533..0000000 --- a/development/include/boost/type_traits/conversion_traits.hpp +++ /dev/null @@ -1,224 +0,0 @@ - -// Copyright (C) 2000 John Maddock (john_maddock@compuserve.com) -// Copyright (C) 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright (C) 1999, 2000 Jaakko J„rvi (jaakko.jarvi@cs.utu.fi) -// -// Permission to copy and use this software is granted, -// provided this copyright notice appears in all copies. -// Permission to modify the code and to distribute modified code is granted, -// provided this copyright notice appears in all copies, and a notice -// that the code was modified is included with the copyright notice. -// -// This software is provided "as is" without express or implied warranty, -// and with no claim as to its suitability for any purpose. - -#ifndef BOOST_CONVERSION_TYPE_TRAITS_HPP -#define BOOST_CONVERSION_TYPE_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif -#ifndef ARITHMETIC_TYPE_TRAITS_HPP -#include -#endif -// -// is one type convertable to another? -// -// there are multiple versions of the is_convertible -// template, almost every compiler seems to require its -// own version. -// -// Thanks to Andrei Alexandrescu for the original version of the -// conversion detection technique! -// - -namespace boost{ - -#ifdef BOOST_MSVC - -// -// MS specific version: -// -namespace detail{ - - // This workaround is necessary to handle when From is void - // which is normally taken care of by the partial specialization - // of the is_convertible class. - using ::boost::type_traits::yes_type; - using ::boost::type_traits::no_type; - - struct from_not_void_conversion { - template - struct bind { - static no_type check(...); - static yes_type check(To); - public: - void foo(); // avoid warning about all members being private - static From from; - enum { exists = sizeof( check(from) ) == sizeof(yes_type) }; - }; - }; - struct from_is_void_conversion { - template - struct bind { - enum { exists = ::boost::is_void::value }; - }; - }; - - template - struct conversion_helper { - typedef from_not_void_conversion type; - }; - template <> - struct conversion_helper { - typedef from_is_void_conversion type; - }; -} // namespace detail - -template -struct is_convertible -{ - typedef typename detail::conversion_helper::type Selector; - typedef Selector::template bind Conversion; -public: - enum { value = Conversion::exists }; -}; - -#elif defined(__BORLANDC__) -// -// special version for Borland compilers -// this version breaks when used for some -// UDT conversions: -// -template -struct is_convertible_helper -{ -private: - // This workaround for Borland breaks the EDG C++ frontend, - // so we only use it for Borland. - template - struct checker - { - static type_traits::no_type check(...); - static type_traits::yes_type check(T); - }; - static From from; -public: - static const bool value = sizeof( checker::check(from) ) == sizeof(type_traits::yes_type); - - void foo(); // avoid warning about all members being private -}; - -template -struct is_convertible -{ -private: - typedef is_convertible_helper c_type; - enum{ v = c_type::value }; - char force_it[v ? 1 : 2]; -public: - static const bool value = is_convertible_helper::value; -}; - -template -struct is_convertible -{ - static const bool value = false; -}; -template -struct is_convertible -{ - static const bool value = false; -}; -template <> -struct is_convertible -{ - static const bool value = true; -}; - -#elif defined(__GNUC__) -// -// special version for gcc compiler -// -namespace detail{ - struct any_conversion - { - template - any_conversion(const T&); - }; - template - struct checker - { - static boost::type_traits::no_type check(any_conversion ...); - static boost::type_traits::yes_type check(T, int); - }; -} // namespace detail -template -struct is_convertible -{ -private: - static From from; -public: - static const bool value = sizeof( detail::checker::check(from, 0) ) == sizeof(type_traits::yes_type); - - void foo(); // avoid warning about all members being private -}; - -template -struct is_convertible -{ - static const bool value = false; -}; -template -struct is_convertible -{ - static const bool value = false; -}; -template <> -struct is_convertible -{ - static const bool value = true; -}; - -#else - -template -struct is_convertible -{ -private: - static type_traits::no_type check(...); - static type_traits::yes_type check(To); - static From from; -public: - BOOST_DECL_MC(bool, value, sizeof( check(from) ) == sizeof(type_traits::yes_type)); - void foo(); // avoid warning about all members being private -}; - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct is_convertible -{ - BOOST_DECL_MC(bool, value, false); -}; - -template -struct is_convertible -{ - BOOST_DECL_MC(bool, value, false); -}; - -template <> -struct is_convertible -{ - BOOST_DECL_MC(bool, value, true); -}; -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#endif // is_convertible - -} // namespace boost - -#endif // include guard diff --git a/development/include/boost/type_traits/cv_traits.hpp b/development/include/boost/type_traits/cv_traits.hpp deleted file mode 100644 index fe33530..0000000 --- a/development/include/boost/type_traits/cv_traits.hpp +++ /dev/null @@ -1,214 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines traits classes for cv-qualified types: -// is_const, is_volatile, remove_const, remove_volatile, remove_cv. -// - -#ifndef CV_TYPE_TRAITS_HPP -#define CV_TYPE_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace detail{ -// -// implementation helper: -// -template -struct cv_traits_imp{}; - -template -struct cv_traits_imp -{ - BOOST_DECL_MC(bool, is_const, false); - BOOST_DECL_MC(bool, is_volatile, false); - typedef T unqualified_type; -}; - -template -struct cv_traits_imp -{ - BOOST_DECL_MC(bool, is_const, true); - BOOST_DECL_MC(bool, is_volatile, false); - typedef T unqualified_type; -}; - -template -struct cv_traits_imp -{ - BOOST_DECL_MC(bool, is_const, false); - BOOST_DECL_MC(bool, is_volatile, true); - typedef T unqualified_type; -}; - -template -struct cv_traits_imp -{ - BOOST_DECL_MC(bool, is_const, true); - BOOST_DECL_MC(bool, is_volatile, true); - typedef T unqualified_type; -}; - -template -struct remove_const_helper -{ - typedef T type; -}; -template -struct remove_const_helper -{ - typedef volatile T type; -}; - -template -struct remove_volatile_helper -{ - typedef T type; -}; -template -struct remove_volatile_helper -{ - typedef const T type; -}; - -} // namespace detail - -// * convert a type T to a non-volatile type - remove_volatile -template -struct remove_volatile -{ - typedef typename detail::cv_traits_imp::unqualified_type uq_type; - typedef typename detail::remove_volatile_helper::value>::type type; -}; -template struct remove_volatile{ typedef T& type; }; - -// * convert a type T to non-const type - remove_const -template -struct remove_const -{ - typedef typename detail::cv_traits_imp::unqualified_type uq_type; - typedef typename detail::remove_const_helper::value>::type type; -}; -template struct remove_const{ typedef T& type; }; - -// convert a type T to a non-cv-qualified type - remove_cv -template -struct remove_cv -{ - typedef typename detail::cv_traits_imp::unqualified_type type; -}; -template struct remove_cv{ typedef T& type; }; - -//* is a type T declared const - is_const -template -struct is_const -{ - BOOST_DECL_MC(bool, value, detail::cv_traits_imp::is_const); -}; - -//* is a type T declared volatile - is_volatile -template -struct is_volatile -{ - BOOST_DECL_MC(bool, value, detail::cv_traits_imp::is_volatile); -}; - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -// The following three don't work: -template struct remove_volatile{ typedef T type; }; -template struct remove_const{ typedef T type; }; -template struct remove_cv{ typedef T type; }; - -namespace detail{ - using ::boost::type_traits::yes_type; - using ::boost::type_traits::no_type; - yes_type is_const_helper(const volatile void*); - no_type is_const_helper(volatile void *); - yes_type is_volatile_helper(const volatile void*); - no_type is_volatile_helper(const void *); -} - -template -struct is_const -{ -private: - static T t; -public: - BOOST_DECL_MC(bool, value, (sizeof(detail::yes_type) == sizeof(detail::is_const_helper(&t)))); -}; - -template <> -struct is_const -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct is_const -{ - BOOST_DECL_MC(bool, value, true); -}; -template <> -struct is_const -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_const -{ - BOOST_DECL_MC(bool, value, true); -}; -#endif - -template -struct is_volatile -{ -private: - static T t; -public: - BOOST_DECL_MC(bool, value, (sizeof(detail::yes_type) == sizeof(detail::is_volatile_helper(&t)))); -}; - -template <> -struct is_volatile -{ - BOOST_DECL_MC(bool, value, false); -}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> -struct is_volatile -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct is_volatile -{ - BOOST_DECL_MC(bool, value, true); -}; -template <> -struct is_volatile -{ - BOOST_DECL_MC(bool, value, true); -}; -#endif - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -} // namespace boost - - -#endif // CV_TYPE_TRAITS_HPP - - diff --git a/development/include/boost/type_traits/fwd.hpp b/development/include/boost/type_traits/fwd.hpp deleted file mode 100644 index 2aff24e..0000000 --- a/development/include/boost/type_traits/fwd.hpp +++ /dev/null @@ -1,140 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// forward declarations of type_traits classes -// -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#define BOOST_FWD_TYPE_TRAITS_HPP - -#include - -#ifndef BOOST_CONFIG_HPP -#include -#endif - -// -// Helper macros for builtin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: -// -// (these should largely ignore cv-qualifiers) -// BOOST_IS_CLASS(T) should evaluate to true if T is a class or struct type -// BOOST_IS_ENUM(T) should evaluate to true if T is an enumerator type -// BOOST_IS_UNION(T) should evaluate to true if T is a union type -// BOOST_IS_POD(T) should evaluate to true if T is a POD type -// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty struct or union -// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect -// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy -// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy -// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect - -#define BOOST_IS_CLASS(T) false -#define BOOST_IS_ENUM(T) false -#define BOOST_IS_UNION(T) false -#define BOOST_IS_POD(T) false -#define BOOST_IS_EMPTY(T) false -#define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) false -#define BOOST_HAS_TRIVIAL_COPY(T) false -#define BOOST_HAS_TRIVIAL_ASSIGN(T) false -#define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) false - - -namespace boost{ -// -// forward declare all type traits templates here -// -// conversion_traits.hpp: -template -struct is_convertible; -// alignment_traits.hpp: -template -struct alignment_of; -// arithmetic_traits.hpp: -template -struct is_void; -template -struct is_integral; -template -struct is_float; -template -struct is_arithmetic; -template -struct is_fundamental; - -// cv_traits.hpp: -template -struct is_const; -template -struct is_volatile; -template -struct remove_const; -template -struct remove_volatile; -template -struct remove_cv; - -// composite_traits.hpp: -template -struct is_array; -template -struct is_pointer; -template -struct is_reference; -template -struct is_member_pointer; -template -struct is_enum; -template -struct is_union; - -// object_traits.hpp: -template -struct is_object; -template -struct is_scalar; -template -struct is_class; -template -struct is_compound; -template -struct is_POD; -template -struct has_trivial_constructor; -template -struct has_trivial_copy; -template -struct has_trivial_assign; -template -struct has_trivial_destructor; -template -struct is_empty; - -// transform_traits.hpp: -template -struct remove_reference; -template -struct add_reference; -template -struct remove_bounds; -template -struct remove_pointer; -template -struct add_pointer; - -// same_traits.hpp: -template -struct is_same; - -} // namespace boost - -#endif // BOOST_FWD_TYPE_TRAITS_HPP - - - - diff --git a/development/include/boost/type_traits/ice.hpp b/development/include/boost/type_traits/ice.hpp deleted file mode 100644 index e2f72d5..0000000 --- a/development/include/boost/type_traits/ice.hpp +++ /dev/null @@ -1,76 +0,0 @@ - -// (C) Copyright John Maddock and Steve Cleary 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// -// macros and helpers for working with integral-constant-expressions. - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#define BOOST_ICE_TYPE_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -#include -#endif - -#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -#define BOOST_DECL_MC(type, name, value) enum{name = value } -#define BOOST_DECL_MC2(type, name, v1, v2) enum{name = v1,v2 } -#else -#define BOOST_DECL_MC(type, name, value) static const type name = value -#define BOOST_DECL_MC2(type, name, v1, v2) static const type name = v1,v2 -#endif - - -namespace boost{ -namespace type_traits{ - -typedef char yes_type; -typedef double no_type; - -template -struct ice_not -{ BOOST_DECL_MC(bool, value, true); }; -template <> -struct ice_not -{ BOOST_DECL_MC(bool, value, false); }; - -template -struct ice_or; -template -struct ice_or -{ - BOOST_DECL_MC(bool, value, true); -}; -template <> -struct ice_or -{ - BOOST_DECL_MC(bool, value, false); -}; - -template -struct ice_and; -template -struct ice_and -{ - BOOST_DECL_MC(bool, value, false); -}; -template <> -struct ice_and -{ - BOOST_DECL_MC(bool, value, true); -}; - - -} // namespace type_traits - -} // namespace boost - -#endif // BOOST_ICE_TYPE_TRAITS_HPP - - - - diff --git a/development/include/boost/type_traits/object_traits.hpp b/development/include/boost/type_traits/object_traits.hpp deleted file mode 100644 index 662dd6f..0000000 --- a/development/include/boost/type_traits/object_traits.hpp +++ /dev/null @@ -1,318 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines object traits classes: -// is_object, is_scalar, is_class, is_compound, is_POD, -// has_trivial_constructor, has_trivial_copy, has_trivial_assign, -// has_trivial_destructor, is_empty. -// - -#ifndef OBJECT_TYPE_TRAITS_HPP -#define OBJECT_TYPE_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif -#ifndef COMPOSITE_TYPE_TRAITS_HPP -#include -#endif -#ifndef ARITHMETIC_TYPE_TRAITS_HPP -#include -#endif - -namespace boost{ - -/********************************************** - * - * is_object - * - **********************************************/ -template -struct is_object -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - !::boost::is_reference::value, - !::boost::is_void::value - >::value)); -}; - -/********************************************** - * - * is_scalar - * - **********************************************/ -template -struct is_scalar -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_arithmetic::value, - ::boost::is_enum::value, - ::boost::is_pointer::value, - ::boost::is_member_pointer::value - >::value)); -}; - -/********************************************** - * - * is_class - * - **********************************************/ -template -struct is_class -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - !::boost::is_union::value, - !::boost::is_scalar::value, - !::boost::is_array::value, - !::boost::is_reference::value, - !::boost::is_void::value - >::value)); -}; - -/********************************************** - * - * is_compound - * - **********************************************/ -template struct is_compound -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_array::value, - ::boost::is_pointer::value, - ::boost::is_reference::value, - ::boost::is_class::value, - ::boost::is_union::value, - ::boost::is_enum::value, - ::boost::is_member_pointer::value - >::value)); -}; - -/********************************************** - * - * is_POD - * - **********************************************/ -template struct is_POD -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_scalar::value, - ::boost::is_void::value, - BOOST_IS_POD(T) - >::value)); -}; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct is_POD -{ - BOOST_DECL_MC(bool, value, ::boost::is_POD::value); -}; -#endif - -/********************************************** - * - * has_trivial_constructor - * - **********************************************/ -template -struct has_trivial_constructor -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_POD::value, - BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) - >::value)); -}; - -/********************************************** - * - * has_trivial_copy - * - **********************************************/ -template -struct has_trivial_copy -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - ::boost::type_traits::ice_or< - ::boost::is_POD::value, - BOOST_HAS_TRIVIAL_COPY(T) - >::value, - !::boost::is_volatile::value - >::value)); -}; - -/********************************************** - * - * has_trivial_assign - * - **********************************************/ -template -struct has_trivial_assign -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - ::boost::type_traits::ice_or< - ::boost::is_POD::value, - BOOST_HAS_TRIVIAL_ASSIGN(T) - >::value, - !::boost::is_const::value, - !::boost::is_volatile::value - >::value)); -}; - -/********************************************** - * - * has_trivial_destructor - * - **********************************************/ -template -struct has_trivial_destructor -{ - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::is_POD::value, - BOOST_HAS_TRIVIAL_DESTRUCTOR(T) - >::value)); -}; - -/********************************************** - * - * is_empty - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace detail{ - -template -struct empty_helper_t1 : public T -{ -#ifdef __MWERKS__ - empty_helper_t1(); // hh compiler bug workaround -#endif - int i[256]; -}; -struct empty_helper_t2 { int i[256]; }; - -template -struct empty_helper{ BOOST_DECL_MC(bool, value, false); }; - -template -struct empty_helper -{ - BOOST_DECL_MC(bool, value, - (sizeof(empty_helper_t1) == sizeof(empty_helper_t2))); -}; -} - -template -struct is_empty -{ -private: - typedef typename remove_cv::type cvt; -public: - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or< - ::boost::detail::empty_helper::value , - ::boost::is_convertible::value - >::value, - BOOST_IS_EMPTY(cvt) - >::value)); -}; - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -#if defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_MEMBER_TEMPLATES) - -namespace detail{ - -template -struct empty_helper_t1 : public T -{ - int i[256]; -}; -struct empty_helper_t2 { int i[256]; }; - -template -struct empty_helper_base -{ - enum{ value = (sizeof(empty_helper_t1) == sizeof(empty_helper_t2)) }; -}; - -template -struct empty_helper_nonbase -{ - enum{ value = false }; -}; - -template -struct empty_helper_chooser -{ - template - struct rebind - { - typedef empty_helper_nonbase type; - }; -}; - -template <> -struct empty_helper_chooser -{ - template - struct rebind - { - typedef empty_helper_base type; - }; -}; - -} // namespace detail - -template -struct is_empty -{ -private: - typedef ::boost::detail::empty_helper_chooser< - ::boost::type_traits::ice_and< - !::boost::is_convertible::value, - !::boost::is_convertible::value, - !::boost::is_pointer::value, - !::boost::is_member_pointer::value, - !::boost::is_array::value, - !::boost::is_void::value, - !::boost::is_convertible::value - >::value> chooser; - typedef typename chooser::template rebind bound_type; - typedef typename bound_type::type eh_type; -public: - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_or::value)); -}; - -#else -template struct is_empty -{ enum{ value = BOOST_IS_EMPTY(T) }; }; -#endif // defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_MEMBER_TEMPLATES) - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -} // namespace boost - -#endif // OBJECT_TYPE_TRAITS_HPP - - - - - - diff --git a/development/include/boost/type_traits/same_traits.hpp b/development/include/boost/type_traits/same_traits.hpp deleted file mode 100644 index e94f46a..0000000 --- a/development/include/boost/type_traits/same_traits.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines is_same: - -#ifndef SAME_TRAITS_HPP -#define SAME_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif -#if !defined(COMPOSITE_TYPE_TRAITS_HPP) && defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC) -#include -#endif - -namespace boost{ - -/********************************************** - * - * is_same - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -template -struct is_same -{ BOOST_DECL_MC(bool, value, false); }; - -template -struct is_same -{ BOOST_DECL_MC(bool, value, true); }; - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#ifdef BOOST_MSVC - -namespace detail{ - -template -struct is_same_part_1 { - template struct part_2 { enum { value = false }; }; - template<> struct part_2 { enum { value = true }; }; -}; - -} // namespace detail - -template -struct is_same : detail::is_same_part_1::template part_2 {}; - -#else // BOOST_MSVC - -namespace detail{ - template - ::boost::type_traits::yes_type is_same_helper(T*, T*); - ::boost::type_traits::no_type is_same_helper(...); -} - -template -struct is_same -{ -private: - static T t; - static U u; -public: - BOOST_DECL_MC(bool, value, - (::boost::type_traits::ice_and< - (sizeof(type_traits::yes_type) == sizeof(detail::is_same_helper(&t,&u))), - (::boost::is_reference::value == ::boost::is_reference::value), - (sizeof(T) == sizeof(U)) - >::value)); -}; - -#endif // BOOST_MSVC - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -} // namespace boost - -#endif // SAME_TRAITS_HPP - - - diff --git a/development/include/boost/type_traits/transform_traits.hpp b/development/include/boost/type_traits/transform_traits.hpp deleted file mode 100644 index e82f40f..0000000 --- a/development/include/boost/type_traits/transform_traits.hpp +++ /dev/null @@ -1,187 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -// See http://www.boost.org for most recent version including documentation. -// -// defines traits classes for transforming one type to another: -// remove_reference, add_reference, remove_bounds, remove_pointer. -// - -#ifndef TRANSFORM_TRAITS_HPP -#define TRANSFORM_TRAITS_HPP - -#ifndef BOOST_ICE_TYPE_TRAITS_HPP -#include -#endif -#ifndef BOOST_FWD_TYPE_TRAITS_HPP -#include -#endif -#if !defined(COMPOSITE_TYPE_TRAITS_HPP) && defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -#include -#endif - -namespace boost{ - -/********************************************** - * - * remove_reference - * - **********************************************/ -template -struct remove_reference -{ typedef T type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct remove_reference -{ typedef T type; }; -#endif -#if defined(__BORLANDC__) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template -struct remove_reference -{ typedef T type; }; -template -struct remove_reference -{ typedef T type; }; -template -struct remove_reference -{ typedef T type; }; -#endif - -/********************************************** - * - * add_reference - * - **********************************************/ -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct add_reference -{ typedef T& type; }; -template -struct add_reference -{ typedef T& type; }; -#elif defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_MEMBER_TEMPLATES) -namespace detail{ - -template -struct reference_adder -{ - template - struct rebind - { - typedef T& type; - }; -}; - -template <> -struct reference_adder -{ - template - struct rebind - { - typedef T type; - }; -}; - -} // namespace detail - -template -struct add_reference -{ -private: - typedef typename detail::reference_adder< ::boost::is_reference::value>::template rebind binder; -public: - typedef typename binder::type type; -}; - -#else -template -struct add_reference -{ typedef T& type; }; -#endif - -/********************************************** - * - * remove_bounds - * - **********************************************/ -template -struct remove_bounds -{ typedef T type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct remove_bounds -{ typedef T type; }; -template -struct remove_bounds -{ typedef const T type; }; -template -struct remove_bounds -{ typedef volatile T type; }; -template -struct remove_bounds -{ typedef const volatile T type; }; -#endif - -/********************************************** - * - * remove_pointer - * - **********************************************/ -template -struct remove_pointer -{ typedef T type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct remove_pointer -{ typedef T type; }; -template -struct remove_pointer -{ typedef T type; }; -template -struct remove_pointer -{ typedef T type; }; -template -struct remove_pointer -{ typedef T type; }; -#endif - -/********************************************** - * - * add_pointer - * - **********************************************/ -template -struct add_pointer -{ -private: - typedef typename remove_reference::type no_ref_type; - typedef typename remove_bounds::type no_b_type; -public: - typedef no_b_type* type; -}; - -} // namespace boost - -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -// -// if there is no partial specialisation support -// include a bunch of full specialisations as a workaround: -// -#include -#else -#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x) -#endif - -#endif // TRANSFORM_TRAITS_HPP - - - - - diff --git a/development/include/boost/type_traits/transform_traits_spec.hpp b/development/include/boost/type_traits/transform_traits_spec.hpp deleted file mode 100644 index 3d05115..0000000 --- a/development/include/boost/type_traits/transform_traits_spec.hpp +++ /dev/null @@ -1,74 +0,0 @@ - -// Copyright (c) 2001 Aleksey Gurtovoy. -// Permission to copy, use, modify, sell and distribute this software is -// granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied warranty, -// and with no claim as to its suitability for any purpose. - -#ifndef BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP -#define BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP - -#ifndef TRANSFORM_TRAITS_HPP -#include -#endif - -#define BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_CONST_VOLATILE_RANK1(T) \ -template<> struct remove_const { typedef T type; }; \ -template<> struct remove_const { typedef T volatile type; }; \ -template<> struct remove_volatile { typedef T type; }; \ -template<> struct remove_volatile { typedef T const type; }; \ -template<> struct remove_cv { typedef T type; }; \ -template<> struct remove_cv { typedef T type; }; \ -template<> struct remove_cv { typedef T type; }; \ -/**/ - -#define BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_1(T) \ -template<> struct remove_pointer { typedef T type; }; \ -template<> struct remove_reference { typedef T type; }; \ -/**/ - -#define BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_2(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_1(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_1(T const) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_1(T volatile) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_1(T const volatile) \ -/**/ - -#define BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_PTR_REF_RANK_2(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_CONST_VOLATILE_RANK1(T) \ -/**/ - -#define BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T const*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T volatile*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T const volatile*) \ -/**/ - -#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \ -namespace boost { \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_1(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T const*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T volatile*) \ -BOOST_TYPE_TRAITS_SPECIALIZATION_REMOVE_ALL_RANK_2(T const volatile*) \ -} \ -/**/ - -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(char) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(signed char) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(unsigned char) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(signed short) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(unsigned short) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(signed int) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(unsigned int) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(signed long) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(unsigned long) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(float) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(double) -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(long double) - -#endif // BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP - diff --git a/development/include/boost/type_traits/type_traits_test.hpp b/development/include/boost/type_traits/type_traits_test.hpp deleted file mode 100644 index 8981805..0000000 --- a/development/include/boost/type_traits/type_traits_test.hpp +++ /dev/null @@ -1,361 +0,0 @@ -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// common test code for type-traits tests -// WARNING: contains code as well as declarations! - - -#ifndef BOOST_TYPE_TRAITS_TEST_HPP -#define BOOST_TYPE_TRAITS_TEST_HPP -#include -#include -// -// define tests here -unsigned failures = 0; -unsigned test_count = 0; -// -// This must get defined within the test file. -// All compilers have bugs, set this to the number of -// regressions *expected* from a given compiler, -// if there are no workarounds for the bugs, *and* -// the regressions have been investigated. -// -extern unsigned int expected_failures; -// -// proc check_result() -// Checks that there were no regressions: -// -int check_result(int argc, char** argv) -{ - std::cout << test_count << " tests completed, " - << failures << " failures found, " - << expected_failures << " failures expected from this compiler." << std::endl; - if((argc == 2) - && (argv[1][0] == '-') - && (argv[1][1] == 'a') - && (argv[1][2] == 0)) - { - std::cout << "Press any key to continue..."; - std::cin.get(); - } - return (failures == expected_failures) ? 0 : failures; -} - - -// -// this one is to verify that a constant is indeed a -// constant-integral-expression: -// -template -struct checker -{ - static void check(bool, bool, const char*, bool){ ++test_count; } -}; - -template <> -struct checker -{ - static void check(bool o, bool n, const char* name, bool soft) - { - ++test_count; - ++failures; - // if this is a soft test, then failure is expected, - // or may depend upon factors outside our control - // (like compiler options)... - if(soft)++expected_failures; - std::cout << "checking value of " << name << "...failed" << std::endl; - std::cout << "\tfound: " << n << " expected " << o << std::endl; - } -}; - -template -struct type_checker -{ - static void check(const char* TT, const char* TU, const char* expression) - { - ++test_count; -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - if((typeid(T) != typeid(U)) - || (::boost::is_reference::value != ::boost::is_reference::value) - || (::boost::is_const::value != ::boost::is_const::value) - || (::boost::is_volatile::value != ::boost::is_volatile::value)) - { -#endif - ++failures; - std::cout << "checking type of " << expression << "...failed" << std::endl; - std::cout << " expected type was " << TT << std::endl; - std::cout << " typeid(" << TT << ") was: " << typeid(T).name() << std::endl; - std::cout << " typeid(" << TU << ") was: " << typeid(U).name() << std::endl; - std::cout << " In template class " << typeid(type_checker).name() << std::endl; -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - } -#endif - } -}; - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct type_checker -{ - static void check(const char*, const char*, const char*) - { - ++test_count; - } -}; -#endif - - -#define value_test(v, x) checker<(v == x)>::check(v, x, #x, false); -#define soft_value_test(v, x) checker<(v == x)>::check(v, x, #x, true); - -#define value_fail(v, x) \ - ++test_count; \ - ++failures; \ - std::cout << "checking value of " << #x << "...failed" << std::endl; \ - std::cout << " " #x " does not compile on this compiler" << std::endl; - - -#define type_test(v, x) type_checker::check(#v, #x, #x); -#define type_test3(v, x, z) type_checker::check(#v, #x "," #z, #x "," #z); -#ifndef SHORT_TRANSFORM_TEST -#define transform_check(name, from_suffix, to_suffix)\ - type_test(bool to_suffix, name::type);\ - type_test(char to_suffix, name::type);\ - type_test(wchar_t to_suffix, name::type);\ - type_test(signed char to_suffix, name::type);\ - type_test(unsigned char to_suffix, name::type);\ - type_test(short to_suffix, name::type);\ - type_test(unsigned short to_suffix, name::type);\ - type_test(int to_suffix, name::type);\ - type_test(unsigned int to_suffix, name::type);\ - type_test(long to_suffix, name::type);\ - type_test(unsigned long to_suffix, name::type);\ - type_test(float to_suffix, name::type);\ - type_test(long double to_suffix, name::type);\ - type_test(double to_suffix, name::type);\ - type_test(UDT to_suffix, name::type);\ - type_test(enum1 to_suffix, name::type); -#else -#define transform_check(name, from_suffix, to_suffix)\ - type_test(int to_suffix, name::type);\ - type_test(UDT to_suffix, name::type);\ - type_test(enum1 to_suffix, name::type); -#endif - -#define boost_dummy_macro_param - -template -struct test_align -{ - struct padded - { - char c; - T t; - }; - static void do_it() - { - padded p; - unsigned a = reinterpret_cast(&(p.t)) - reinterpret_cast(&p); - ++test_count; - // only fail if we do not have a multiple of the actual value: - if((a > ::boost::alignment_of::value) || (a % ::boost::alignment_of::value)) - { - ++failures; - std::cout << "checking value of " << typeid(boost::alignment_of).name() << "...failed" << std::endl; - std::cout << "\tfound: " << boost::alignment_of::value << " expected " << a << std::endl; - } - // suppress warnings about unused variables: - (void)p; - (void)a; - } -}; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -template -struct test_align -{ - static void do_it() - { - // - // we can't do the usual test because we can't take the address - // of a reference, so check that the result is the same as for a - // pointer type instead: - unsigned a = boost::alignment_of::value; - ++test_count; - if(a != boost::alignment_of::value) - { - ++failures; - std::cout << "checking value of " << typeid(boost::alignment_of).name() << "...failed" << std::endl; - std::cout << "\tfound: " << boost::alignment_of::value << " expected " << a << std::endl; - } - } -}; -#endif - -#define align_test(T) test_align::do_it() - -// -// the following code allows us to test that a particular -// template functions correctly when instanciated inside another template -// (some bugs only show up in that situation). For each template -// we declare one NESTED_DECL(classname) that sets up the template class -// and multiple NESTED_TEST(classname, template-arg) declarations, to carry -// the actual tests: -template -struct nested_test -{ - typedef nested_test type; - bool run_time_value; - const char* what; - nested_test(bool b2, const char* w) : run_time_value(b2), what(w) { check(); } - void check() - { - ++test_count; - if(b != run_time_value) - { - ++failures; - std::cerr << "Mismatch between runtime and compile time values in " << what << std::endl; - } - } -}; - -#define NESTED_DECL(what)\ -template \ -struct BOOST_TT_JOIN(nested_tester_,what){\ - nested_test< (0 != ::boost::what::value)> tester;\ - BOOST_TT_JOIN(nested_tester_,what)(const char* s) : tester(::boost::what::value, s){}\ -}; -#define NESTED_TEST(what, with)\ -{BOOST_TT_JOIN(nested_tester_,what) check(#what "<" #with ">"); (void)check;} - -#define BOOST_TT_JOIN( X, Y ) BOOST_DO_TT_JOIN( X, Y ) -#define BOOST_DO_TT_JOIN( X, Y ) X##Y - - - -// -// define some types to test with: -// -enum enum_UDT{ one, two, three }; -struct UDT -{ - UDT(){}; - ~UDT(){}; - UDT(const UDT&); - UDT& operator=(const UDT&); - int i; - - void f1(); - int f2(); - int f3(int); - int f4(int, float); -}; - -typedef void(*f1)(); -typedef int(*f2)(int); -typedef int(*f3)(int, bool); -typedef void (UDT::*mf1)(); -typedef int (UDT::*mf2)(); -typedef int (UDT::*mf3)(int); -typedef int (UDT::*mf4)(int, float); -typedef int (UDT::*mp); - -// cv-qualifiers applied to reference types should have no effect -// declare these here for later use with is_reference and remove_reference: -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4181) -# endif // BOOST_MSVC -typedef int& r_type; -typedef const r_type cr_type; -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif // BOOST_MSVC - -struct POD_UDT { int x; }; -struct empty_UDT{ ~empty_UDT(){}; }; -struct empty_POD_UDT{}; -union union_UDT -{ - int x; - double y; - ~union_UDT(); -}; -union POD_union_UDT -{ - int x; - double y; -}; -union empty_union_UDT -{ - ~empty_union_UDT(); -}; -union empty_POD_union_UDT{}; - -class Base { }; - -class Deriverd : public Base { }; - -class NonDerived { }; - -enum enum1 -{ - one_,two_ -}; - -enum enum2 -{ - three_,four_ -}; - -struct VB -{ - virtual ~VB(){}; -}; - -struct VD : VB -{ - ~VD(){}; -}; -// -// struct non_pointer: -// used to verify that is_pointer does not return -// true for class types that implement operator void*() -// -struct non_pointer -{ - operator void*(){return this;} -}; -struct non_int_pointer -{ - int i; - operator int*(){return &i;} -}; -struct int_constructible -{ - int_constructible(int); -}; -struct int_convertible -{ - operator int(); -}; -// -// struct non_empty: -// used to verify that is_empty does not emit -// spurious warnings or errors. -// -struct non_empty : boost::noncopyable -{ - int i; -}; - - - -#endif // BOOST_TYPE_TRAITS_TEST_HPP - - - - - - diff --git a/development/include/boost/utility.hpp b/development/include/boost/utility.hpp deleted file mode 100644 index 82a7d13..0000000 --- a/development/include/boost/utility.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// boost utility.hpp header file -------------------------------------------// - -// (C) Copyright boost.org 1999. Permission to copy, use, modify, sell -// and distribute this software is granted provided this copyright -// notice appears in all copies. This software is provided "as is" without -// express or implied warranty, and with no claim as to its suitability for -// any purpose. - -// See http://www.boost.org for most recent version including documentation. - -// Classes appear in alphabetical order - -// Revision History -// 26 Jan 00 protected noncopyable destructor added (Miki Jovanovic) -// 10 Dec 99 next() and prior() templates added (Dave Abrahams) -// 30 Aug 99 moved cast templates to cast.hpp (Beman Dawes) -// 3 Aug 99 cast templates added -// 20 Jul 99 name changed to utility.hpp -// 9 Jun 99 protected noncopyable default ctor -// 2 Jun 99 Initial Version. Class noncopyable only contents (Dave Abrahams) - -#ifndef BOOST_UTILITY_HPP -#define BOOST_UTILITY_HPP - -#include -#include // for size_t -#include // for std::pair - -namespace boost -{ - -// next() and prior() template functions -----------------------------------// - - // Helper functions for classes like bidirectional iterators not supporting - // operator+ and operator-. - // - // Usage: - // const std::list::iterator p = get_some_iterator(); - // const std::list::iterator prev = boost::prior(p); - - // Contributed by Dave Abrahams - - template - T next(T x) { return ++x; } - - template - T prior(T x) { return --x; } - - -// class noncopyable -------------------------------------------------------// - - // Private copy constructor and copy assignment ensure classes derived from - // class noncopyable cannot be copied. - - // Contributed by Dave Abrahams - - class noncopyable - { - protected: - noncopyable(){} - ~noncopyable(){} - private: // emphasize the following members are private - noncopyable( const noncopyable& ); - const noncopyable& operator=( const noncopyable& ); - }; // noncopyable - -// class tied -------------------------------------------------------// - - // A helper for conveniently assigning the two values from a pair - // into separate variables. The idea for this comes from Jaakko J„rvi's - // Binder/Lambda Library. - - // Constributed by Jeremy Siek - - template - class tied { - public: - inline tied(A& a, B& b) : _a(a), _b(b) { } - template - inline tied& operator=(const std::pair& p) { - _a = p.first; - _b = p.second; - return *this; - } - protected: - A& _a; - B& _b; - }; - - template - inline tied tie(A& a, B& b) { return tied(a, b); } - -} // namespace boost - -#endif // BOOST_UTILITY_HPP - diff --git a/development/index.htm b/development/index.htm deleted file mode 100644 index 54b5b0e..0000000 --- a/development/index.htm +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - - -Type Traits - - - - -

Header -<boost/type_traits.hpp>

- -

The contents of <boost/type_traits.hpp> are declared in -namespace boost.

- -

The file <boost/type_traits.hpp> -contains various template classes that describe the fundamental -properties of a type; each class represents a single type -property or a single type transformation. If you are new to this -library then read the accompanying article -first.

- -

This documentation is divided up into the following sections:

- -
Primary Type Categorisation
-Secondary Type Categorisation
-Type Properties
-Relationships Between Types
-Transformations Between Types
-Compiler Support Information
-Type traits headers
-Example Code
- -

 

- -

Primary Type Categorisation

- -

The following type traits templates identify which type -category the type belongs to. For any given type, exactly one of -the following expressions will evaluate to true. Note that this -means that is_integral<T>::value and is_float<T>::value -will only every be true for built-in types; if you want to check -for a user-defined type that may behave "as if" it is -an integral or floating point type, then use the std::numeric_limits -template instead.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 

Expression

-

Description

-

Reference

-

Compiler requirements

-
 
 ::boost::is_void<T>::valueEvaluates - to true only if T is a cv-qualified void type.

3.9.1p9

-
  
 ::boost::is_integral<T>::valueEvaluates - to true only if T is an cv-qualified integral type.

3.9.1p7

-
  
 ::boost::is_float<T>::valueEvaluates - to true only if T is a cv-qualified floating point type.

3.9.1p8

-
  
 ::boost::is_pointer<T>::valueEvaluates - to true only if T is cv-qualified pointer type (includes - function pointers, but excludes pointers to members).

3.9.2p2

-

8.3.1

-
  
 ::boost::is_reference<T>::valueEvaluates - to true only if T is a reference type.

3.9.2

-

8.3.2

-
If the - compiler does not support partial-specialisation of class - templates, then references to types that are both const - and volatile qualified will not be correctly identified. 
 ::boost::is_member_pointer<T>::valueEvaluates - to true only if T is a cv-qualified pointer to a data-member - or member-function.

3.9.2

-

8.3.3

-
On some - compilers, member function pointers may be incorrectly - identified as regular pointers. 
 ::boost::is_array<T>::valueEvaluates - to true only if T is an array type.

3.9.2

-

8.3.4

-
If the - compiler does not support partial-specialisation of class - templates, then some types may be incorrectly identified - as arrays (mainly function types). 
 ::boost::is_union<T>::valueEvaluates - to true only if T is of union type. Currently requires - some kind of compiler support, otherwise unions are - identified as classes.

3.9.2

-

9.5

-
C 
 ::boost::is_class<T>::valueEvaluates - to true only if T is of class/struct type.

3.9.2

-

9.2

-
C 
 ::boost::is_enum<T>::valueEvaluates - to true only if T is of enum type.

3.9.2

-

7.2

-
Requires a - correctly functioning is_convertible template (this means - that is_enum is currently broken under Borland C++). 
- -

 

- -

Secondary Type Categorisation

- -

The following type categories are made up of the union of one -or more primary type categorisations. A type may belong to more -than one of these categories, in addition to one of the primary -categories.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 

Expression

-

Description

-

Reference

-

Compiler requirements

-
 
 ::boost::is_arithmetic<T>::valueEvaluates - to true only if T is a cv-qualified arithmetic type. That - is either an integral or floating point type.

3.9.1p8

-
  
 ::boost::is_fundamental<T>::valueEvaluates - to true only if T is an cv-qualified fundamental type. - That is either an integral, a floating point, or a void - type.

3.9.1

-
  
 ::boost::is_object<T>::valueEvaluates - to true only if T is a cv-qualified object type. That is - not a function, reference, or void type.

3.9p9

-
  
 ::boost::is_scalar<T>::valueEvaluates - to true only if T is cv-qualified scalar type. That is an - arithmetic, a pointer or a pointer to member type.

3.9p10

-
  
 ::boost::is_compound<T>::valueEvaluates - to true only if T is a compound type. That is an array, - function, pointer, reference, enumerator, union, class or - member function type.

3.9.2

-
  
- -

 

- -

Type Properties

- -

The following templates identify the properties that a type -has.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 

Expression

-

Description

-

Reference

-

Compiler requirements

-
 
 ::boost::alignment_of<T>::valueIdentifies - the alignment requirements of T. Actually returns a value - that is only guaranteed to be a multiple of the actual - alignment requirements of T   
 ::boost::is_empty<T>::valueTrue if T - is an empty struct or class. If the compiler implements - the "zero sized empty base classes" - optimisation, then is_empty will correctly guess whether - T is empty. Relies upon is_class to determine whether T - is a class type.

10p5

-

PCD

-
 
 ::boost::is_const<T>::valueEvaluates - to true only if T is top-level const-qualified.

3.9.3

-
  
 ::boost::is_volatile<T>::valueEvaluates - to true only if T is volatile-qualified.

3.9.3

-
  
 ::boost::is_POD<T>::valueEvaluates - to true only if T is a cv-qualified POD type.

3.9p10

-

9p4

-
  
 ::boost::has_trivial_constructor<T>::valueTrue if T - has a trivial default constructor - that is T() is - equivalent to memset. 

PC

-
 
 ::boost::has_trivial_copy<T>::valueTrue if T - has a trivial copy constructor - that is T(const T&) - is equivalent to memcpy. 

PC

-
 
 ::boost::has_trivial_assign<T>::valueTrue if T - has a trivial assignment operator - that is if T::operator=(const - T&) is equivalent to memcpy. 

PC

-
 
 ::boost::has_trivial_destructor<T>::valueTrue if T - has a trivial destructor - that is if T::~T() has no - effect. 

PC

-
 
- -

 

- -

Relationships Between Types

- -

The following templates determine the whether there is a -relationship between two types:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
 

Expression

-

Description

-

Reference

-

Compiler requirements

-
 
 
::boost::is_same<T,U>::value
-

Evaluates to true if T and U are the same - type.

-
   
 ::boost::is_convertible<T,U>::valueEvaluates - to true if type T is convertible to type U.

4

-

8.5

-
Note that - this template is currently broken with Borland's - compiler, for constructor-based conversions. 
- -

 

- -

Transformations Between Types

- -

The following templates transform one type to another, based -upon some well-defined rule. Each template has a single member -called type that is the result of applying the -transformation to the template argument T:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 

Expression

-

Description

-

Reference

-

Compiler requirements

-
 
 ::boost::remove_const<T>::typeCreates a - type the same as T but with any top level const qualifier - removed. For example "const int" would become - "int", but "const int*" would remain - unchanged.3.9.3

P

-
 
 ::boost::remove_volatile<T>::typeCreates a - type the same as T but with any top level volatile - qualifier removed. For example "volatile int" - would become "int".

3.9.3

-

P

-
 
 ::boost::remove_reference<T>::typeIf T is a - reference type then removes the reference, otherwise - leaves T unchanged. For example "int&" - becomes "int" but "int*" remains - unchanged.8.3.2

P

-
 
 ::boost::remove_bounds<T>::typeIf T is an - array type then removes the top level array qualifier - from T, otherwise leaves T unchanged. For example "int[2][3]" - becomes "int[3]".8.3.4

P

-
 
 ::boost::remove_pointer<T>::typeIf T is a - pointer type, then removes the top-level indirection from - T, otherwise leaves T unchanged. For example "int*" - becomes "int", but "int&" remains - unchanged.8.3.1

P

-
 
 ::boost::add_reference<T>::typeIf T is a - reference type then leaves T unchanged, otherwise - converts T to a reference type. For example "int&" - remains unchanged, but "double" becomes "double&".8.3.2

P

-
 
 ::boost::add_pointer<T>::typeIf "t" - is an instance of T, then add_pointer<T>::type is - the type returned by "&t". For example - "int", "int&", "int[2]" - and "int (&)[2]" all become "int*".8.3.1

P

-
 
- -

As the table above indicates, support for partial -specialization of class templates is required to correctly -implement the type transformation templates. On the other hand, -practice shows that many of the templates from this category are -very useful, and often essential for implementing some generic -libraries. Lack of these templates is often one of the major -limiting factors in porting those libraries to compilers that do -not yet support this language feature. As some of these compilers -are going to be around for a while, and at least one of them is -very wide-spread, it was decided that the library should provide -workarounds where possible. The basic idea behind the workaround -is

- -
    -
  1. To manually define full specializations of all type - transformation templates for all fundamental types, and - all their 1st and 2nd rank cv-[un]qualified derivative - pointer types, and to
  2. -
  3. Provide a user-level macro that will define such explicit - specializations for any user-defined type T.
  4. -
- -

The first part guarantees the successful compilation of -something like this:

- -
BOOST_STATIC_ASSERT((is_same<char, remove_reference<char&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<char const, remove_reference<char const&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<char volatile, remove_reference<char volatile&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<char const volatile, remove_reference<char const volatile&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<char*, remove_reference<char*&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<char const*, remove_reference<char const*&>::type>::value));
- -
...
- -
BOOST_STATIC_ASSERT((is_same<char const volatile* const volatile* const volatile, remove_reference<char const volatile* const volatile* const volatile&>::type>::value));
- -

and the second part provides library's users with a mechanism -to make the above code work not only for 'char', 'int' or other -built-in type, but for they own types too:

- -
struct my {};
- -
BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(my)
- -
BOOST_STATIC_ASSERT((is_same<my, remove_reference<my&>::type>::value));
- -
BOOST_STATIC_ASSERT((is_same<my, remove_const<my const>::type>::value));
- -
// etc.
- -

Note that the maco -BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION evaluates to -nothing on those compilers that do support partial specialisation.

- -

Compiler Support Information

- -

The legends used in the tables above have the following -meanings:

- - - - - - - - - - - - - - -

P

-
Denotes that the class - requires support for partial specialisation of class - templates to work correctly.

C

-
Denotes that direct compiler - support for that traits class is required.

D

-
Denotes that the traits - class is dependent upon a class that requires direct - compiler support.
- -

 

- -

For those classes that are marked with a D or C, if compiler -support is not provided, this type trait may return "false" -when the correct value is actually "true". The single -exception to this rule is "is_class", which attempts to -guess whether or not T is really a class, and may return "true" -when the correct value is actually "false". This can -happen if: T is a union or T is a compiler-supplied scalar type -that is not specialised for in these type traits.

- -

If there is no compiler support, to ensure that these -traits always return the correct values, specialise -'is_union' for each user-defined union type, 'is_empty' for each -user-defined empty composite type, and 'is_POD' for each user-defined -POD type. The 'has_*' traits should also be specialized if the -user-defined type has those traits and is not a POD.

- -

The following rules are automatically enforced:

- -

is_enum implies is_POD

- -

is_POD implies has_*

- -

This means, for example, if you have an empty POD-struct, just -specialize is_empty and is_POD, which will cause all the has_* to -also return true.

- -

Type Traits Headers

- -

The type traits library is normally included with:

- -

#include <boost/type_traits.hpp>

- -

However the library is actually split up into a number of -smaller headers, sometimes it can be convenient to include one of -these directly in order to get just those type traits classes you -actually need. Note however that the type traits classes are -highly interdependent - so you may not save as much as you think -this way. The following table lists the type traits classes in -alphabetical order, along with the header that contains each -template.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Template - classHeader 
 add_pointer<boost/type_traits/transform_traits.hpp> 
 add_reference<boost/type_traits/transform_traits.hpp> 
 alignment_of<boost.type_traits/alignment_traits.hpp> 
 has_trivial_assign<boost/type_traits/object_traits.hpp> 
 has_trivial_constructor<boost/type_traits/object_traits.hpp> 
 has_trivial_copy<boost/type_traits/object_traits.hpp> 
 has_trivial_destructor<boost/type_traits/object_traits.hpp> 
 is_arithmetic<boost/type_traits/arithmetic_traits.hpp> 
 is_array - <boost/type_traits/composite_traits.hpp> 
 is_class<boost/type_traits/object_traits.hpp> 
 is_compound<boost/type_traits/object_traits.hpp> 
 is_const<boost/type_traits/cv_traits.hpp> 
 is_convertible<boost/type_traits/conversion_traits.hpp> 
 is_empty<boost/type_traits/object_traits.hpp> 
 is_enum<boost/type_traits/composite_traits.hpp> 
 is_float<boost/type_traits/arithmetic_traits.hpp> 
 is_fundamental<boost/type_traits/arithmetic_traits.hpp> 
 is_integral<boost/type_traits/arithmetic_traits.hpp> 
 is_member_pointer<boost/type_traits/composite_traits.hpp> 
 is_object - <boost/type_traits/object_traits.hpp> 
 is_POD<boost/type_traits/object_traits.hpp> 
 is_pointer<boost/type_traits/composite_traits.hpp> 
 is_reference<boost/type_traits/composite_traits.hpp> 
 is_same<boost/type_traits/same_traits.hpp> 
 is_scalar<boost/type_traits/object_traits.hpp> 
 is_union<boost/type_traits/composite_traits.hpp> 
 is_void<boost/type_traits/arithmetic_traits.hpp> 
 is_volatile<boost/type_traits/cv_traits.hpp> 
 remove_bounds<boost/type_traits/transform_traits.hpp> 
 remove_const<boost/type_traits/cv_traits.hpp> 
 remove_cv<boost/type_traits/cv_traits.hpp> 
 remove_pointer<boost/type_traits/transform_traits.hpp> 
 remove_reference - <boost/type_traits/transform_traits.hpp> 
 remove_volatile<boost/type_traits/cv_traits.hpp> 
- -

 

- -

Example code

- -

Type-traits comes with four example programs that illustrate -some of the ways in which the type traits templates may be used:

- -

Copy_example.cpp

- -

Demonstrates a version of std::copy that uses memcpy where -appropriate to optimise the copy operation;

- -
//
-// opt::copy
-// same semantics as std::copy
-// calls memcpy where appropiate.
-//
-
-namespace detail{
-
-template<typename I1, typename I2>
-I2 copy_imp(I1 first, I1 last, I2 out)
-{
-   while(first != last)
-   {
-      *out = *first;
-      ++out;
-      ++first;
-   }
-   return out;
-}
-
-template <bool b>
-struct copier
-{
-   template<typename I1, typename I2>
-   static I2 do_copy(I1 first, I1 last, I2 out)
-   { return copy_imp(first, last, out); }
-};
-
-template <>
-struct copier<true>
-{
-   template<typename I1, typename I2>
-   static I2* do_copy(I1* first, I1* last, I2* out)
-   {
-      memcpy(out, first, (last-first)*sizeof(I2));
-      return out+(last-first);
-   }
-};
-
-
-}
-
-template<typename I1, typename I2>
-inline I2 copy(I1 first, I1 last, I2 out)
-{
-   typedef typename boost::remove_cv<typename std::iterator_traits<I1>::value_type>::type v1_t;
-   typedef typename boost::remove_cv<typename std::iterator_traits<I2>::value_type>::type v2_t;
-   return detail::copier<
-      ::boost::type_traits::ice_and<
-         ::boost::is_same<v1_t, v2_t>::value,
-         ::boost::is_pointer<I1>::value,
-         ::boost::is_pointer<I2>::value,
-         ::boost::has_trivial_assign<v1_t>::value
-      >::value>::do_copy(first, last, out);
-}
- -

fill_example.cpp

- -

Demonstrates a version of std::fill that uses memset where -appropriate to optimise fill operations. Also uses call_traits to -optimise parameter passing, to avoid aliasing issues:

- -
namespace opt{
-//
-// fill
-// same as std::fill, uses memset where appropriate, along with call_traits
-// to "optimise" parameter passing.
-//
-namespace detail{
-
-template <typename I, typename T>
-void do_fill_(I first, I last, typename boost::call_traits<T>::param_type val)
-{
-   while(first != last)
-   {
-      *first = val;
-      ++first;
-   }
-}
-
-template <bool opt>
-struct filler
-{
-   template <typename I, typename T>
-   struct rebind
-   {
-      static void do_fill(I first, I last, typename boost::call_traits<T>::param_type val)
-      { do_fill_<I,T>(first, last, val); }
-   };
-};
-
-template <>
-struct filler<true>
-{
-   template <typename I, typename T>
-   struct rebind
-   {
-      static void do_fill(I first, I last, T val)
-      {
-         std::memset(first, val, last-first);
-      }
-   };
-};
-
-}
-
-template <class I, class T>
-inline void fill(I first, I last, const T& val)
-{
-   typedef detail::filler<
-      ::boost::type_traits::ice_and<
-         ::boost::is_pointer<I>::value,
-         ::boost::is_arithmetic<T>::value,
-         (sizeof(T) == 1)
-      >::value> filler_t;
-   typedef typename filler_t:: template rebind<I,T> binder;
-   binder::do_fill(first, last, val);
-}
-
-};   // namespace opt
- -

iter_swap_example.cpp

- -

Demonstrates a version of std::iter_swap that works with -proxying iterators, as well as regular ones; calls std::swap for -regular iterators, otherwise does a "slow but safe" -swap:

- -
namespace opt{
-//
-// iter_swap:
-// tests whether iterator is a proxying iterator or not, and
-// uses optimal form accordingly:
-//
-namespace detail{
-
-template <bool b>
-struct swapper
-{
-   template <typename I>
-   static void do_swap(I one, I two)
-   {
-      typedef typename std::iterator_traits<I>::value_type v_t;
-      v_t v = *one;
-      *one = *two;
-      *two = v;
-   }
-};
-
-template <>
-struct swapper<true>
-{
-   template <typename I>
-   static void do_swap(I one, I two)
-   {
-      using std::swap;
-      swap(*one, *two);
-   }
-};
-
-}
-
-template <typename I1, typename I2>
-inline void iter_swap(I1 one, I2 two)
-{
-   typedef typename std::iterator_traits<I1>::reference r1_t;
-   typedef typename std::iterator_traits<I2>::reference r2_t;
-   detail::swapper<
-      ::boost::type_traits::ice_and<
-         ::boost::is_reference<r1_t>::value, 
-         ::boost::is_reference<r2_t>::value,
-         ::boost::is_same<r1_t, r2_t>::value
-      >::value>::do_swap(one, two);
-}
-
-};   // namespace opt
- -

Trivial_destructor_example.cpp

- -

This algorithm is the reverse of std::unitialized_copy; it -takes a block of initialized memory and calls destructors on all -objects therein. This would typically be used inside container -classes that manage their own memory:

- -
namespace opt{
-//
-// algorithm destroy_array:
-// The reverse of std::unitialized_copy, takes a block of
-// initialized memory and calls destructors on all objects therein.
-//
-
-namespace detail{
-
-template <bool>
-struct array_destroyer
-{
-   template <class T>
-   static void destroy_array(T* i, T* j){ do_destroy_array(i, j); }
-};
-
-template <>
-struct array_destroyer<true>
-{
-   template <class T>
-   static void destroy_array(T*, T*){}
-};
-
-template <class T>
-void do_destroy_array(T* first, T* last)
-{
-   while(first != last)
-   {
-      first->~T();
-      ++first;
-   }
-}
-
-}; // namespace detail
-
-template <class T>
-inline void destroy_array(T* p1, T* p2)
-{
-   detail::array_destroyer<boost::has_trivial_destructor<T>::value>::destroy_array(p1, p2);
-}
-} // namespace opt
- -
- -

Revised 01 Feb 2001

- -

© Copyright John Maddock 2001. Permission to copy, use, -modify, sell and distribute this document is granted provided -this copyright notice appears in all copies. This document is -provided "as is" without express or implied warranty, -and with no claim as to its suitability for any purpose.

- -

The type traits library is based on contributions by Steve -Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, John -Maddock and Jeremy Siek.

- -

Maintained by John -Maddock, the latest version of this file can be found at www.boost.org, and the boost -discussion list at www.egroups.com/list/boost.

- - diff --git a/development/is_convertible_test.cpp b/development/is_convertible_test.cpp deleted file mode 100644 index da375b2..0000000 --- a/development/is_convertible_test.cpp +++ /dev/null @@ -1,72 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include -#include "boost/type_traits/type_traits_test.hpp" - - -int main(int argc, char* argv[]) -{ - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); -#if defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - value_test(false, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); -#endif - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - - value_test(false, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - - value_test(true, (boost::is_convertible::value)); - value_test(false, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - value_test(true, (boost::is_convertible::value)); - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef __BORLANDC__ -unsigned int expected_failures = 1; -#else -unsigned int expected_failures = 0; -#endif - - - - - - - diff --git a/development/is_same_test.cpp b/development/is_same_test.cpp deleted file mode 100644 index 0803d3c..0000000 --- a/development/is_same_test.cpp +++ /dev/null @@ -1,42 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -int main(int argc, char* argv[]) -{ - value_test(true, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - value_test(true, (::boost::is_same::value)) - value_test(false, (::boost::is_same::value)) - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef BOOST_MSVC -// can't separate void and cv-void: -unsigned int expected_failures = 1; -#else -unsigned int expected_failures = 0; -#endif - diff --git a/development/iter_swap_example.cpp b/development/iter_swap_example.cpp deleted file mode 100644 index 898d0bd..0000000 --- a/development/iter_swap_example.cpp +++ /dev/null @@ -1,110 +0,0 @@ - -/* - * - * Copyright (c) 1999 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * This file provides some example of type_traits usage - - * by "optimising" various algorithms: - * - * opt::iter_swap - uses type_traits to determine whether the iterator is a proxy - * in which case it uses a "safe" approach, otherwise calls swap - * on the assumption that swap may be specialised for the pointed-to type. - * - */ - -#include -#include -#include -#include -#include -#include - -#include - -using std::cout; -using std::endl; -using std::cin; - -namespace opt{ - -// -// iter_swap: -// tests whether iterator is a proxying iterator or not, and -// uses optimal form accordingly: -// -namespace detail{ - -template -struct swapper -{ - template - static void do_swap(I one, I two) - { - typedef typename std::iterator_traits::value_type v_t; - v_t v = *one; - *one = *two; - *two = v; - } -}; - -#ifdef __GNUC__ -using std::swap; -#endif - -template <> -struct swapper -{ - template - static void do_swap(I one, I two) - { - using std::swap; - swap(*one, *two); - } -}; - -} - -template -inline void iter_swap(I1 one, I2 two) -{ - typedef typename std::iterator_traits::reference r1_t; - typedef typename std::iterator_traits::reference r2_t; - detail::swapper< - ::boost::type_traits::ice_and< - ::boost::is_reference::value, - ::boost::is_reference::value, - ::boost::is_same::value - >::value>::do_swap(one, two); -} - - -}; // namespace opt - -int main() -{ - // - // testing iter_swap - // really just a check that it does in fact compile... - std::vector v1; - v1.push_back(0); - v1.push_back(1); - std::vector v2; - v2.push_back(0); - v2.push_back(1); - opt::iter_swap(v1.begin(), v1.begin()+1); - opt::iter_swap(v2.begin(), v2.begin()+1); - - cout << "Press any key to exit..."; - cin.get(); -} - - diff --git a/development/linux-regression.out.txt b/development/linux-regression.out.txt deleted file mode 100644 index c2e48ab..0000000 --- a/development/linux-regression.out.txt +++ /dev/null @@ -1,580 +0,0 @@ -*** libs/type_traits/alignment_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/alignment_test.cpp -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/alignment_test.cpp -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/alignment_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -./boosttmp.exe -checking value of boost::alignment_of...failed - found: 4 expected 8 -13 tests completed, 1 failures found, 0 failures expected from this compiler. -Fail - -*** libs/type_traits/arithmetic_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/composite_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/composite_traits_test.cpp -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -65 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/composite_traits_test.cpp -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -65 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/composite_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=bool] assigned to file composite_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/composite_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=unsigned long] assigned to file composite_traits_test.o -C++ prelinker: _STL::_LimG::_L_inf [with T1=bool] assigned to file composite_traits_test.o -C++ prelinker: _STL::_LimG::_D_inf [with T1=bool] assigned to file composite_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/composite_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::_Integer_limits::digits [with T1=bool, N2=false, N3=true, N4=(int)0, N5=false] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=char, N2=(char)-128, N3=(char)127, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=signed char, N2=(signed char)-128, N3=(signed char)127, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned char, N2=(unsigned char)0, N3=(unsigned char)255, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=wchar_t, N2=(wchar_t)-2147483648, N3=(wchar_t)2147483647, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=short, N2=(short)-32768, N3=(short)32767, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned short, N2=(unsigned short)0, N3=(unsigned short)65535, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=int, N2=(int)-2147483648, N3=(int)2147483647, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned int, N2=(unsigned int)0, N3=(unsigned int)4294967295, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long, N2=(long)-2147483648, N3=(long)2147483647, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long, N2=(unsigned long)0, N3=(unsigned long)4294967295, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long long, N2=(long long)-9223372036854775808, N3=(long long)9223372036854775807, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long long, N2=(unsigned long long)0, N3=(unsigned long long)18446744073709551615, N4=(int)-1, N5=true] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_F_inf [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_F_qNaN [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_F_sNaN [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_D_qNaN [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_D_sNaN [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_L_qNaN [with T1=bool] adopted by file composite_traits_test.o -C++ prelinker: _STL::_LimG::_L_sNaN [with T1=bool] adopted by file composite_traits_test.o -./boosttmp.exe -65 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/cv_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/cv_traits_test.cpp -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/cv_traits_test.cpp -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/cv_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=bool] assigned to file cv_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/cv_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=unsigned long] assigned to file cv_traits_test.o -C++ prelinker: _STL::_LimG::_L_inf [with T1=bool] assigned to file cv_traits_test.o -C++ prelinker: _STL::_LimG::_D_inf [with T1=bool] assigned to file cv_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/cv_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::_Integer_limits::digits [with T1=bool, N2=false, N3=true, N4=(int)0, N5=false] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=char, N2=(char)-128, N3=(char)127, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=signed char, N2=(signed char)-128, N3=(signed char)127, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned char, N2=(unsigned char)0, N3=(unsigned char)255, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=wchar_t, N2=(wchar_t)-2147483648, N3=(wchar_t)2147483647, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=short, N2=(short)-32768, N3=(short)32767, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned short, N2=(unsigned short)0, N3=(unsigned short)65535, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=int, N2=(int)-2147483648, N3=(int)2147483647, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned int, N2=(unsigned int)0, N3=(unsigned int)4294967295, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long, N2=(long)-2147483648, N3=(long)2147483647, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long, N2=(unsigned long)0, N3=(unsigned long)4294967295, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long long, N2=(long long)-9223372036854775808, N3=(long long)9223372036854775807, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long long, N2=(unsigned long long)0, N3=(unsigned long long)18446744073709551615, N4=(int)-1, N5=true] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_F_inf [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_F_qNaN [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_F_sNaN [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_D_qNaN [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_D_sNaN [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_L_qNaN [with T1=bool] adopted by file cv_traits_test.o -C++ prelinker: _STL::_LimG::_L_sNaN [with T1=bool] adopted by file cv_traits_test.o -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/is_convertible_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_convertible_test.cpp -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_convertible_test.cpp -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/is_convertible_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=bool] assigned to file is_convertible_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/is_convertible_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=unsigned long] assigned to file is_convertible_test.o -C++ prelinker: _STL::_LimG::_L_inf [with T1=bool] assigned to file is_convertible_test.o -C++ prelinker: _STL::_LimG::_D_inf [with T1=bool] assigned to file is_convertible_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/is_convertible_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::_Integer_limits::digits [with T1=bool, N2=false, N3=true, N4=(int)0, N5=false] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=char, N2=(char)-128, N3=(char)127, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=signed char, N2=(signed char)-128, N3=(signed char)127, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned char, N2=(unsigned char)0, N3=(unsigned char)255, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=wchar_t, N2=(wchar_t)-2147483648, N3=(wchar_t)2147483647, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=short, N2=(short)-32768, N3=(short)32767, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned short, N2=(unsigned short)0, N3=(unsigned short)65535, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=int, N2=(int)-2147483648, N3=(int)2147483647, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned int, N2=(unsigned int)0, N3=(unsigned int)4294967295, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long, N2=(long)-2147483648, N3=(long)2147483647, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long, N2=(unsigned long)0, N3=(unsigned long)4294967295, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long long, N2=(long long)-9223372036854775808, N3=(long long)9223372036854775807, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long long, N2=(unsigned long long)0, N3=(unsigned long long)18446744073709551615, N4=(int)-1, N5=true] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_F_inf [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_F_qNaN [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_F_sNaN [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_D_qNaN [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_D_sNaN [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_L_qNaN [with T1=bool] adopted by file is_convertible_test.o -C++ prelinker: _STL::_LimG::_L_sNaN [with T1=bool] adopted by file is_convertible_test.o -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/is_same_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_same_test.cpp -./boosttmp.exe -10 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_same_test.cpp -./boosttmp.exe -10 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/is_same_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=bool] assigned to file is_same_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/is_same_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=unsigned long] assigned to file is_same_test.o -C++ prelinker: _STL::_LimG::_L_inf [with T1=bool] assigned to file is_same_test.o -C++ prelinker: _STL::_LimG::_D_inf [with T1=bool] assigned to file is_same_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/is_same_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::_Integer_limits::digits [with T1=bool, N2=false, N3=true, N4=(int)0, N5=false] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=char, N2=(char)-128, N3=(char)127, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=signed char, N2=(signed char)-128, N3=(signed char)127, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned char, N2=(unsigned char)0, N3=(unsigned char)255, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=wchar_t, N2=(wchar_t)-2147483648, N3=(wchar_t)2147483647, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=short, N2=(short)-32768, N3=(short)32767, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned short, N2=(unsigned short)0, N3=(unsigned short)65535, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=int, N2=(int)-2147483648, N3=(int)2147483647, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned int, N2=(unsigned int)0, N3=(unsigned int)4294967295, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long, N2=(long)-2147483648, N3=(long)2147483647, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long, N2=(unsigned long)0, N3=(unsigned long)4294967295, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long long, N2=(long long)-9223372036854775808, N3=(long long)9223372036854775807, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long long, N2=(unsigned long long)0, N3=(unsigned long long)18446744073709551615, N4=(int)-1, N5=true] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_F_inf [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_F_qNaN [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_F_sNaN [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_D_qNaN [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_D_sNaN [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_L_qNaN [with T1=bool] adopted by file is_same_test.o -C++ prelinker: _STL::_LimG::_L_sNaN [with T1=bool] adopted by file is_same_test.o -./boosttmp.exe -10 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/object_type_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/object_type_traits_test.cpp -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -122 tests completed, 7 failures found, 7 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/object_type_traits_test.cpp -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -122 tests completed, 4 failures found, 7 failures expected from this compiler. -Fail - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/object_type_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -122 tests completed, 4 failures found, 0 failures expected from this compiler. -Fail - -*** libs/type_traits/transform_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -ftemplate-depth-30 -I../.. ../../libs/type_traits/transform_traits_test.cpp -./boosttmp.exe -checking type of boost::remove_reference::type...failed - expected type was int - typeid(int) was: i - typeid(boost::remove_reference::type) was: i - In template class t12type_checker2ZiZCRi -39 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -o boosttmp.exe -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/transform_traits_test.cpp -./boosttmp.exe -checking type of boost::remove_reference::type...failed - expected type was int - typeid(int) was: i - typeid(boost::remove_reference::type) was: i - In template class t12type_checker2ZiZCRi -39 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Comeau C++ 4.2.44 beta3 -como -o boosttmp.exe -I../.. ../../libs/type_traits/transform_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=bool] assigned to file transform_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/transform_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::basic_ostream &_STL::_M_put_num(_STL::basic_ostream &, T3) [with T1=char, T2=_STL::char_traits, T3=unsigned long] assigned to file transform_traits_test.o -C++ prelinker: _STL::_LimG::_L_inf [with T1=bool] assigned to file transform_traits_test.o -C++ prelinker: _STL::_LimG::_D_inf [with T1=bool] assigned to file transform_traits_test.o -C++ prelinker: executing: /usr/local/bin/realcomo -c --version --display_mode --wchar_t_keyword --bool --enum_overloading --explicit --typename --extern_inline --new_for_init --exceptions --alternative_tokens --diag_suppress=161 -I../.. ../../libs/type_traits/transform_traits_test.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../boost/type_traits/type_traits_test.hpp", line 236: warning: type - qualifiers are meaningless in this declaration - typedef const r_type cr_type; - ^ - -C++ prelinker: _STL::_Integer_limits::digits [with T1=bool, N2=false, N3=true, N4=(int)0, N5=false] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=char, N2=(char)-128, N3=(char)127, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=signed char, N2=(signed char)-128, N3=(signed char)127, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned char, N2=(unsigned char)0, N3=(unsigned char)255, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=wchar_t, N2=(wchar_t)-2147483648, N3=(wchar_t)2147483647, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=short, N2=(short)-32768, N3=(short)32767, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned short, N2=(unsigned short)0, N3=(unsigned short)65535, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=int, N2=(int)-2147483648, N3=(int)2147483647, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned int, N2=(unsigned int)0, N3=(unsigned int)4294967295, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long, N2=(long)-2147483648, N3=(long)2147483647, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long, N2=(unsigned long)0, N3=(unsigned long)4294967295, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=long long, N2=(long long)-9223372036854775808, N3=(long long)9223372036854775807, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_Integer_limits::digits [with T1=unsigned long long, N2=(unsigned long long)0, N3=(unsigned long long)18446744073709551615, N4=(int)-1, N5=true] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_F_inf [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_F_qNaN [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_F_sNaN [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_D_qNaN [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_D_sNaN [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_L_qNaN [with T1=bool] adopted by file transform_traits_test.o -C++ prelinker: _STL::_LimG::_L_sNaN [with T1=bool] adopted by file transform_traits_test.o -./boosttmp.exe -39 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/trivial_destructor_example.cpp *** - -** GCC 2.95.2 -g++ -c -ftemplate-depth-30 -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -c -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -Pass - -** Comeau C++ 4.2.44 beta3 -como -c -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -"../../libs/type_traits/trivial_destructor_example.cpp", line 99: warning: - variable "ci_array" was declared but never referenced - const int ci_array[array_size] = {0,}; - ^ - -"../../libs/type_traits/trivial_destructor_example.cpp", line 101: warning: - variable "cc_array" was declared but never referenced - const char cc_array[array_size] = { 0,}; - ^ - -Pass - -*** libs/type_traits/copy_example.cpp *** - -** GCC 2.95.2 -g++ -c -ftemplate-depth-30 -I../.. ../../libs/type_traits/copy_example.cpp -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -c -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/copy_example.cpp -Pass - -** Comeau C++ 4.2.44 beta3 -como -c -I../.. ../../libs/type_traits/copy_example.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -Pass - -*** libs/type_traits/fill_example.cpp *** - -** GCC 2.95.2 -g++ -c -ftemplate-depth-30 -I../.. ../../libs/type_traits/fill_example.cpp -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -c -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/fill_example.cpp -Pass - -** Comeau C++ 4.2.44 beta3 -como -c -I../.. ../../libs/type_traits/fill_example.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -Pass - -*** libs/type_traits/iter_swap_example.cpp *** - -** GCC 2.95.2 -g++ -c -ftemplate-depth-30 -I../.. ../../libs/type_traits/iter_swap_example.cpp -Pass - -** GCC 2.95.2 STLport 4.0 -g++ -c -V 2.95.2-stlport -ftemplate-depth-30 -I../.. ../../libs/type_traits/iter_swap_example.cpp -Pass - -** Comeau C++ 4.2.44 beta3 -como -c -I../.. ../../libs/type_traits/iter_swap_example.cpp -Comeau C/C++ 4.2.44 (Aug 2 2000 16:10:16) for RedHat_LINUX_INTEL_ELF_BETA3 -Copyright 1988-2000 Comeau Computing. All rights reserved. -MODE:non-strict C++ - -Pass - diff --git a/development/object_type_traits_test.cpp b/development/object_type_traits_test.cpp deleted file mode 100644 index edb9edf..0000000 --- a/development/object_type_traits_test.cpp +++ /dev/null @@ -1,191 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif -#include "boost/type_traits/type_traits_test.hpp" - -NESTED_DECL(is_class) -NESTED_DECL(is_object) -NESTED_DECL(is_scalar) -NESTED_DECL(is_compound) -NESTED_DECL(is_POD) - -int main(int argc, char* argv[]) -{ - NESTED_TEST(is_class, int) - NESTED_TEST(is_class, UDT) - NESTED_TEST(is_object, int) - NESTED_TEST(is_object, void) - NESTED_TEST(is_object, UDT) - NESTED_TEST(is_scalar, void) - NESTED_TEST(is_scalar, int) - NESTED_TEST(is_compound, int) - NESTED_TEST(is_compound, UDT) - NESTED_TEST(is_POD, int) - NESTED_TEST(is_POD, UDT) - - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(true, boost::is_class::value) - value_test(true, boost::is_class::value) - value_test(true, boost::is_class::value) - value_test(true, boost::is_class::value) - value_test(true, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - value_test(false, boost::is_class::value) - - value_test(true, boost::is_object::value) - value_test(true, boost::is_object::value) - value_test(false, boost::is_object::value) - value_test(false, boost::is_object::value) - - value_test(true, boost::is_scalar::value) - value_test(true, boost::is_scalar::value) - value_test(false, boost::is_scalar::value) - value_test(false, boost::is_scalar::value) - value_test(false, boost::is_scalar::value) - - value_test(true, boost::is_compound::value) - value_test(true, boost::is_compound::value) - value_test(false, boost::is_compound::value) - value_test(false, boost::is_compound::value) - - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(false, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(false, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(false, boost::is_POD::value) - value_test(false, boost::is_POD::value) - value_test(true, boost::is_POD::value) - value_test(true, boost::is_POD::value) - - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(false, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - value_test(true, boost::has_trivial_constructor::value) - - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - // Steve: was 'false' -- should be 'true' via 3.9p3, 3.9p10 - value_test(false, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(false, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - value_test(true, boost::has_trivial_copy::value) - - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(false, boost::has_trivial_assign::value) - value_test(false, boost::has_trivial_assign::value) - // Steve: was 'false' -- should be 'true' via 3.9p3, 3.9p10 - value_test(false, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(false, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - value_test(true, boost::has_trivial_assign::value) - - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(false, boost::has_trivial_destructor::value) - value_test(false, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - value_test(true, boost::has_trivial_destructor::value) - - soft_value_test(false, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) -#if defined(__MWERKS__) - // apparent compiler bug causes this to fail to compile: - value_fail(false, boost::is_empty::value) -#else - soft_value_test(false, boost::is_empty::value) -#endif - soft_value_test(false, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - soft_value_test(true, boost::is_empty::value) - soft_value_test(true, boost::is_empty::value) - // this one will not compile on most compilers, - // because we can't tell the difference between - // unions and classes: - value_fail(true, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - soft_value_test(true, boost::is_empty::value) - soft_value_test(false, boost::is_empty::value) - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef __BORLANDC__ -// can't handle enum's or classes that are POD's -unsigned int expected_failures = 10; -#elif defined(__GNUC__) -// classes that are POD's, or empty: -unsigned int expected_failures = 4; -#elif defined(BOOST_MSVC) -// can't handle classes that are POD's or arrays that are POD's -unsigned int expected_failures = 19; -#else -unsigned int expected_failures = 4; -#endif - - diff --git a/development/regress.cfg b/development/regress.cfg deleted file mode 100644 index 1e16eb4..0000000 --- a/development/regress.cfg +++ /dev/null @@ -1,14 +0,0 @@ -run libs/type_traits/alignment_test.cpp -run libs/type_traits/arithmetic_traits_test.cpp -run libs/type_traits/composite_traits_test.cpp -run libs/type_traits/cv_traits_test.cpp -run libs/type_traits/is_convertible_test.cpp -run libs/type_traits/is_same_test.cpp -run libs/type_traits/object_type_traits_test.cpp -run libs/type_traits/transform_traits_test.cpp -compile libs/type_traits/trivial_destructor_example.cpp -compile libs/type_traits/copy_example.cpp -compile libs/type_traits/fill_example.cpp -compile libs/type_traits/iter_swap_example.cpp - - diff --git a/development/regression.out.txt b/development/regression.out.txt deleted file mode 100644 index 1a61e15..0000000 --- a/development/regression.out.txt +++ /dev/null @@ -1,5407 +0,0 @@ -*** libs/type_traits/alignment_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/alignment_test.cpp -./boosttmp.exe -14 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/alignment_test.cpp -./boosttmp.exe -14 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/alignment_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/alignment_traits.hpp:16, - from ../../libs/type_traits/alignment_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -./boosttmp.exe -14 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/alignment_test.cpp -../../libs/type_traits/alignment_test.cpp: -./boosttmp.exe -14 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/alignment_test.cpp -../../libs/type_traits/alignment_test.cpp: -./boosttmp.exe -14 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/alignment_test.cpp /link user32.lib -alignment_test.cpp -../../libs/type_traits/alignment_test.cpp(15) : warning C4305: 'argument' : truncation from 'enum ' to 'bool' - ../../libs/type_traits/alignment_test.cpp(15) : while compiling class-template member function '__thiscall nested_tester_alignment_of::nested_tester_alignment_of(const char *)' -./boosttmp.exe -11 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/alignment_test.cpp /link /libpath:e:/stlport/lib user32.lib -alignment_test.cpp -../../libs/type_traits/alignment_test.cpp(15) : warning C4305: 'argument' : truncation from 'enum ' to 'bool' - ../../libs/type_traits/alignment_test.cpp(15) : while compiling class-template member function '__thiscall nested_tester_alignment_of::nested_tester_alignment_of(const char *)' -./boosttmp.exe -11 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/arithmetic_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/arithmetic_traits_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/arithmetic_traits.hpp:18, - from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../libs/type_traits/arithmetic_traits_test.cpp:7: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -./boosttmp.exe -111 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/arithmetic_traits_test.cpp -../../libs/type_traits/arithmetic_traits_test.cpp: -./boosttmp.exe -123 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/arithmetic_traits_test.cpp -../../libs/type_traits/arithmetic_traits_test.cpp: -./boosttmp.exe -123 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/arithmetic_traits_test.cpp /link user32.lib -arithmetic_traits_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -123 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/arithmetic_traits_test.cpp /link /libpath:e:/stlport/lib user32.lib -arithmetic_traits_test.cpp -./boosttmp.exe -123 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/composite_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/composite_traits_test.cpp -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -70 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/composite_traits_test.cpp -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -70 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/composite_traits_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/composite_traits.hpp:24, - from ../../libs/type_traits/composite_traits_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits/composite_traits.hpp:30, - from ../../libs/type_traits/composite_traits_test.cpp:7: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -70 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/composite_traits_test.cpp -../../libs/type_traits/composite_traits_test.cpp: -./boosttmp.exe -checking value of boost::is_pointer::value...failed - found: 1 expected 0 -checking value of boost::is_enum::value...failed - found: 0 expected 1 -70 tests completed, 2 failures found, 2 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/composite_traits_test.cpp -../../libs/type_traits/composite_traits_test.cpp: -./boosttmp.exe -checking value of boost::is_pointer::value...failed - found: 1 expected 0 -checking value of boost::is_enum::value...failed - found: 0 expected 1 -70 tests completed, 2 failures found, 2 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/composite_traits_test.cpp /link user32.lib -composite_traits_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -70 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/composite_traits_test.cpp /link /libpath:e:/stlport/lib user32.lib -composite_traits_test.cpp -./boosttmp.exe -checking value of boost::is_reference::value...failed - found: 0 expected 1 -70 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -*** libs/type_traits/cv_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/cv_traits_test.cpp -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/cv_traits_test.cpp -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/cv_traits_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/cv_traits.hpp:17, - from ../../libs/type_traits/cv_traits_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/cv_traits_test.cpp -../../libs/type_traits/cv_traits_test.cpp: -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/cv_traits_test.cpp -../../libs/type_traits/cv_traits_test.cpp: -./boosttmp.exe -18 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/cv_traits_test.cpp /link user32.lib -cv_traits_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -checking value of boost::is_const::value...failed - found: 0 expected 1 -checking value of boost::is_volatile::value...failed - found: 0 expected 1 -18 tests completed, 2 failures found, 2 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/cv_traits_test.cpp /link /libpath:e:/stlport/lib user32.lib -cv_traits_test.cpp -./boosttmp.exe -checking value of boost::is_const::value...failed - found: 0 expected 1 -checking value of boost::is_volatile::value...failed - found: 0 expected 1 -18 tests completed, 2 failures found, 2 failures expected from this compiler. -Pass - -*** libs/type_traits/is_convertible_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_convertible_test.cpp -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/is_convertible_test.cpp -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/is_convertible_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/conversion_traits.hpp:19, - from ../../libs/type_traits/is_convertible_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../libs/type_traits/is_convertible_test.cpp:7: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/is_convertible_test.cpp -../../libs/type_traits/is_convertible_test.cpp: -Error E2396 ../../libs/type_traits/is_convertible_test.cpp 54: Template argument must be a constant expression in function main(int,char * *) -Error E2299 ../../libs/type_traits/is_convertible_test.cpp 54: Cannot generate template specialization from 'checker<(value)>' in function main(int,char * *) -Error E2379 ../../libs/type_traits/is_convertible_test.cpp 54: Statement missing ; in function main(int,char * *) -*** 3 errors in Compile *** -Fail - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/is_convertible_test.cpp -../../libs/type_traits/is_convertible_test.cpp: -Error E2396 ../../libs/type_traits/is_convertible_test.cpp 54: Template argument must be a constant expression in function main(int,char * *) -Error E2299 ../../libs/type_traits/is_convertible_test.cpp 54: Cannot generate template specialization from 'checker<(value)>' in function main(int,char * *) -Error E2379 ../../libs/type_traits/is_convertible_test.cpp 54: Statement missing ; in function main(int,char * *) -*** 3 errors in Compile *** -Fail - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/is_convertible_test.cpp /link user32.lib -is_convertible_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/is_convertible_test.cpp /link /libpath:e:/stlport/lib user32.lib -is_convertible_test.cpp -../..\boost/type_traits/conversion_traits.hpp(57) : warning C4244: 'argument' : conversion from 'float' to 'int', possible loss of data - ../..\boost/type_traits/conversion_traits.hpp(83) : see reference to class template instantiation 'boost::detail::from_not_void_conversion::bind' being compiled - ../../libs/type_traits/is_convertible_test.cpp(21) : see reference to class template instantiation 'boost::is_convertible' being compiled -./boosttmp.exe -37 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -*** libs/type_traits/is_same_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/is_same_test.cpp -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/is_same_test.cpp -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/is_same_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/same_traits.hpp:15, - from ../../libs/type_traits/is_same_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/is_same_test.cpp -../../libs/type_traits/is_same_test.cpp: -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/is_same_test.cpp -../../libs/type_traits/is_same_test.cpp: -./boosttmp.exe -13 tests completed, 0 failures found, 0 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/is_same_test.cpp /link user32.lib -is_same_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -checking value of (::boost::is_same::value)...failed - found: 1 expected 0 -13 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/is_same_test.cpp /link /libpath:e:/stlport/lib user32.lib -is_same_test.cpp -./boosttmp.exe -checking value of (::boost::is_same::value)...failed - found: 1 expected 0 -13 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -*** libs/type_traits/object_type_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/object_type_traits_test.cpp -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -129 tests completed, 7 failures found, 7 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/object_type_traits_test.cpp -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -129 tests completed, 7 failures found, 7 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/object_type_traits_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/object_traits.hpp:19, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits/composite_traits.hpp:30, - from ../../boost/type_traits/object_traits.hpp:25, - from ../../libs/type_traits/object_type_traits_test.cpp:7: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -./boosttmp.exe -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -129 tests completed, 7 failures found, 7 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/object_type_traits_test.cpp -../../libs/type_traits/object_type_traits_test.cpp: -./boosttmp.exe -checking value of boost::is_class::value...failed - found: 1 expected 0 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -129 tests completed, 13 failures found, 13 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/object_type_traits_test.cpp -../../libs/type_traits/object_type_traits_test.cpp: -./boosttmp.exe -checking value of boost::is_class::value...failed - found: 1 expected 0 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -checking value of boost::is_empty::value...failed - found: 0 expected 1 -129 tests completed, 13 failures found, 13 failures expected from this compiler. -Pass - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/object_type_traits_test.cpp /link user32.lib -object_type_traits_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -129 tests completed, 19 failures found, 19 failures expected from this compiler. -Pass - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/object_type_traits_test.cpp /link /libpath:e:/stlport/lib user32.lib -object_type_traits_test.cpp -./boosttmp.exe -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::is_POD::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_constructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_copy::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_assign::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::has_trivial_destructor::value...failed - found: 0 expected 1 -checking value of boost::is_empty::value...failed - boost::is_empty::value does not compile on this compiler -129 tests completed, 19 failures found, 19 failures expected from this compiler. -Pass - -*** libs/type_traits/transform_traits_test.cpp *** - -** GCC 2.95.2 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/transform_traits_test.cpp -./boosttmp.exe -checking type of boost::remove_reference::type...failed - expected type was int - typeid(int) was: i - typeid(boost::remove_reference::type) was: i - In template class t12type_checker2ZiZCRi -1799 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/transform_traits_test.cpp -./boosttmp.exe -checking type of boost::remove_reference::type...failed - expected type was int - typeid(int) was: i - typeid(boost::remove_reference::type) was: i - In template class t12type_checker2ZiZCRi -1799 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -o boosttmp.exe -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/transform_traits_test.cpp -Le:/stlport/lib -lstlport_cygwin_stldebug -In file included from e:/stlport/stlport/stl/_iterator_base.h:38, - from e:/stlport/stlport/stl/_iterator.h:34, - from e:/stlport/stlport/iterator:35, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from ../../boost/config.hpp:193, - from ../../boost/type_traits/ice.hpp:16, - from ../../boost/type_traits/transform_traits.hpp:17, - from ../../libs/type_traits/transform_traits_test.cpp:7: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -./boosttmp.exe -checking type of boost::remove_reference::type...failed - expected type was int - typeid(int) was: i - typeid(boost::remove_reference::type) was: i - In template class t12type_checker2ZiZCRi -1799 tests completed, 1 failures found, 1 failures expected from this compiler. -Pass - -** Borland C++ 5.5.1 -bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/transform_traits_test.cpp -../../libs/type_traits/transform_traits_test.cpp: -./boosttmp.exe -checking type of ::boost::remove_const::type...failed - expected type was bool volatile - typeid(bool volatile) was: bool - typeid(::boost::remove_const::type) was: bool - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char volatile - typeid(char volatile) was: char - typeid(::boost::remove_const::type) was: char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t volatile - typeid(wchar_t volatile) was: wchar_t - typeid(::boost::remove_const::type) was: wchar_t - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char volatile - typeid(signed char volatile) was: signed char - typeid(::boost::remove_const::type) was: signed char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char volatile - typeid(unsigned char volatile) was: unsigned char - typeid(::boost::remove_const::type) was: unsigned char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short volatile - typeid(short volatile) was: short - typeid(::boost::remove_const::type) was: short - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short volatile - typeid(unsigned short volatile) was: unsigned short - typeid(::boost::remove_const::type) was: unsigned short - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile - typeid(int volatile) was: int - typeid(::boost::remove_const::type) was: int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int volatile - typeid(unsigned int volatile) was: unsigned int - typeid(::boost::remove_const::type) was: unsigned int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long volatile - typeid(long volatile) was: long - typeid(::boost::remove_const::type) was: long - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long volatile - typeid(unsigned long volatile) was: unsigned long - typeid(::boost::remove_const::type) was: unsigned long - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float volatile - typeid(float volatile) was: float - typeid(::boost::remove_const::type) was: float - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double volatile - typeid(long double volatile) was: long double - typeid(::boost::remove_const::type) was: long double - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double volatile - typeid(double volatile) was: double - typeid(::boost::remove_const::type) was: double - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_const::type) was: UDT - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_const::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was bool volatile - typeid(bool volatile) was: bool - typeid(::boost::remove_const::type) was: bool - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char volatile - typeid(char volatile) was: char - typeid(::boost::remove_const::type) was: char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t volatile - typeid(wchar_t volatile) was: wchar_t - typeid(::boost::remove_const::type) was: wchar_t - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char volatile - typeid(signed char volatile) was: signed char - typeid(::boost::remove_const::type) was: signed char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char volatile - typeid(unsigned char volatile) was: unsigned char - typeid(::boost::remove_const::type) was: unsigned char - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short volatile - typeid(short volatile) was: short - typeid(::boost::remove_const::type) was: short - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short volatile - typeid(unsigned short volatile) was: unsigned short - typeid(::boost::remove_const::type) was: unsigned short - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile - typeid(int volatile) was: int - typeid(::boost::remove_const::type) was: int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int volatile - typeid(unsigned int volatile) was: unsigned int - typeid(::boost::remove_const::type) was: unsigned int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long volatile - typeid(long volatile) was: long - typeid(::boost::remove_const::type) was: long - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long volatile - typeid(unsigned long volatile) was: unsigned long - typeid(::boost::remove_const::type) was: unsigned long - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float volatile - typeid(float volatile) was: float - typeid(::boost::remove_const::type) was: float - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double volatile - typeid(long double volatile) was: long double - typeid(::boost::remove_const::type) was: long double - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double volatile - typeid(double volatile) was: double - typeid(::boost::remove_const::type) was: double - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_const::type) was: UDT - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_const::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was bool *volatile - typeid(bool *volatile) was: bool * - typeid(::boost::remove_const::type) was: bool * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char *volatile - typeid(char *volatile) was: char * - typeid(::boost::remove_const::type) was: char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t *volatile - typeid(wchar_t *volatile) was: wchar_t * - typeid(::boost::remove_const::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char *volatile - typeid(signed char *volatile) was: signed char * - typeid(::boost::remove_const::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char *volatile - typeid(unsigned char *volatile) was: unsigned char * - typeid(::boost::remove_const::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short *volatile - typeid(short *volatile) was: short * - typeid(::boost::remove_const::type) was: short * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short *volatile - typeid(unsigned short *volatile) was: unsigned short * - typeid(::boost::remove_const::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_const::type) was: int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int *volatile - typeid(unsigned int *volatile) was: unsigned int * - typeid(::boost::remove_const::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long *volatile - typeid(long *volatile) was: long * - typeid(::boost::remove_const::type) was: long * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long *volatile - typeid(unsigned long *volatile) was: unsigned long * - typeid(::boost::remove_const::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float *volatile - typeid(float *volatile) was: float * - typeid(::boost::remove_const::type) was: float * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double *volatile - typeid(long double *volatile) was: long double * - typeid(::boost::remove_const::type) was: long double * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double *volatile - typeid(double *volatile) was: double * - typeid(::boost::remove_const::type) was: double * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_const::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_const::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was bool *volatile - typeid(bool *volatile) was: bool * - typeid(::boost::remove_const::type) was: bool * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char *volatile - typeid(char *volatile) was: char * - typeid(::boost::remove_const::type) was: char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t *volatile - typeid(wchar_t *volatile) was: wchar_t * - typeid(::boost::remove_const::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char *volatile - typeid(signed char *volatile) was: signed char * - typeid(::boost::remove_const::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char *volatile - typeid(unsigned char *volatile) was: unsigned char * - typeid(::boost::remove_const::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short *volatile - typeid(short *volatile) was: short * - typeid(::boost::remove_const::type) was: short * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short *volatile - typeid(unsigned short *volatile) was: unsigned short * - typeid(::boost::remove_const::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_const::type) was: int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int *volatile - typeid(unsigned int *volatile) was: unsigned int * - typeid(::boost::remove_const::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long *volatile - typeid(long *volatile) was: long * - typeid(::boost::remove_const::type) was: long * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long *volatile - typeid(unsigned long *volatile) was: unsigned long * - typeid(::boost::remove_const::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float *volatile - typeid(float *volatile) was: float * - typeid(::boost::remove_const::type) was: float * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double *volatile - typeid(long double *volatile) was: long double * - typeid(::boost::remove_const::type) was: long double * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double *volatile - typeid(double *volatile) was: double * - typeid(::boost::remove_const::type) was: double * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_const::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_const::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was bool volatile[2] - typeid(bool volatile[2]) was: bool[2] - typeid(::boost::remove_const::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char volatile[2] - typeid(char volatile[2]) was: char[2] - typeid(::boost::remove_const::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t volatile[2] - typeid(wchar_t volatile[2]) was: wchar_t[2] - typeid(::boost::remove_const::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char volatile[2] - typeid(signed char volatile[2]) was: signed char[2] - typeid(::boost::remove_const::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char volatile[2] - typeid(unsigned char volatile[2]) was: unsigned char[2] - typeid(::boost::remove_const::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short volatile[2] - typeid(short volatile[2]) was: short[2] - typeid(::boost::remove_const::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short volatile[2] - typeid(unsigned short volatile[2]) was: unsigned short[2] - typeid(::boost::remove_const::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int[2] - typeid(::boost::remove_const::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int volatile[2] - typeid(unsigned int volatile[2]) was: unsigned int[2] - typeid(::boost::remove_const::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long volatile[2] - typeid(long volatile[2]) was: long[2] - typeid(::boost::remove_const::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long volatile[2] - typeid(unsigned long volatile[2]) was: unsigned long[2] - typeid(::boost::remove_const::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float volatile[2] - typeid(float volatile[2]) was: float[2] - typeid(::boost::remove_const::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double volatile[2] - typeid(long double volatile[2]) was: long double[2] - typeid(::boost::remove_const::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double volatile[2] - typeid(double volatile[2]) was: double[2] - typeid(::boost::remove_const::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: UDT[2] - typeid(::boost::remove_const::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum1[2] - typeid(::boost::remove_const::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was bool volatile[2] - typeid(bool volatile[2]) was: bool[2] - typeid(::boost::remove_const::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was char volatile[2] - typeid(char volatile[2]) was: char[2] - typeid(::boost::remove_const::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was wchar_t volatile[2] - typeid(wchar_t volatile[2]) was: wchar_t[2] - typeid(::boost::remove_const::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was signed char volatile[2] - typeid(signed char volatile[2]) was: signed char[2] - typeid(::boost::remove_const::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned char volatile[2] - typeid(unsigned char volatile[2]) was: unsigned char[2] - typeid(::boost::remove_const::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was short volatile[2] - typeid(short volatile[2]) was: short[2] - typeid(::boost::remove_const::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned short volatile[2] - typeid(unsigned short volatile[2]) was: unsigned short[2] - typeid(::boost::remove_const::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int[2] - typeid(::boost::remove_const::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned int volatile[2] - typeid(unsigned int volatile[2]) was: unsigned int[2] - typeid(::boost::remove_const::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long volatile[2] - typeid(long volatile[2]) was: long[2] - typeid(::boost::remove_const::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was unsigned long volatile[2] - typeid(unsigned long volatile[2]) was: unsigned long[2] - typeid(::boost::remove_const::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was float volatile[2] - typeid(float volatile[2]) was: float[2] - typeid(::boost::remove_const::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was long double volatile[2] - typeid(long double volatile[2]) was: long double[2] - typeid(::boost::remove_const::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was double volatile[2] - typeid(double volatile[2]) was: double[2] - typeid(::boost::remove_const::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: UDT[2] - typeid(::boost::remove_const::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum1[2] - typeid(::boost::remove_const::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool const - typeid(bool const) was: bool - typeid(::boost::remove_volatile::type) was: bool - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char const - typeid(char const) was: char - typeid(::boost::remove_volatile::type) was: char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t const - typeid(wchar_t const) was: wchar_t - typeid(::boost::remove_volatile::type) was: wchar_t - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char const - typeid(signed char const) was: signed char - typeid(::boost::remove_volatile::type) was: signed char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char const - typeid(unsigned char const) was: unsigned char - typeid(::boost::remove_volatile::type) was: unsigned char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short const - typeid(short const) was: short - typeid(::boost::remove_volatile::type) was: short - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short const - typeid(unsigned short const) was: unsigned short - typeid(::boost::remove_volatile::type) was: unsigned short - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_volatile::type) was: int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int const - typeid(unsigned int const) was: unsigned int - typeid(::boost::remove_volatile::type) was: unsigned int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long const - typeid(long const) was: long - typeid(::boost::remove_volatile::type) was: long - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long const - typeid(unsigned long const) was: unsigned long - typeid(::boost::remove_volatile::type) was: unsigned long - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float const - typeid(float const) was: float - typeid(::boost::remove_volatile::type) was: float - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double const - typeid(long double const) was: long double - typeid(::boost::remove_volatile::type) was: long double - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double const - typeid(double const) was: double - typeid(::boost::remove_volatile::type) was: double - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_volatile::type) was: UDT - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_volatile::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool const - typeid(bool const) was: bool - typeid(::boost::remove_volatile::type) was: bool - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char const - typeid(char const) was: char - typeid(::boost::remove_volatile::type) was: char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t const - typeid(wchar_t const) was: wchar_t - typeid(::boost::remove_volatile::type) was: wchar_t - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char const - typeid(signed char const) was: signed char - typeid(::boost::remove_volatile::type) was: signed char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char const - typeid(unsigned char const) was: unsigned char - typeid(::boost::remove_volatile::type) was: unsigned char - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short const - typeid(short const) was: short - typeid(::boost::remove_volatile::type) was: short - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short const - typeid(unsigned short const) was: unsigned short - typeid(::boost::remove_volatile::type) was: unsigned short - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_volatile::type) was: int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int const - typeid(unsigned int const) was: unsigned int - typeid(::boost::remove_volatile::type) was: unsigned int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long const - typeid(long const) was: long - typeid(::boost::remove_volatile::type) was: long - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long const - typeid(unsigned long const) was: unsigned long - typeid(::boost::remove_volatile::type) was: unsigned long - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float const - typeid(float const) was: float - typeid(::boost::remove_volatile::type) was: float - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double const - typeid(long double const) was: long double - typeid(::boost::remove_volatile::type) was: long double - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double const - typeid(double const) was: double - typeid(::boost::remove_volatile::type) was: double - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_volatile::type) was: UDT - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_volatile::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool *const - typeid(bool *const) was: bool * - typeid(::boost::remove_volatile::type) was: bool * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char *const - typeid(char *const) was: char * - typeid(::boost::remove_volatile::type) was: char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t *const - typeid(wchar_t *const) was: wchar_t * - typeid(::boost::remove_volatile::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char *const - typeid(signed char *const) was: signed char * - typeid(::boost::remove_volatile::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char *const - typeid(unsigned char *const) was: unsigned char * - typeid(::boost::remove_volatile::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short *const - typeid(short *const) was: short * - typeid(::boost::remove_volatile::type) was: short * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short *const - typeid(unsigned short *const) was: unsigned short * - typeid(::boost::remove_volatile::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int *const - typeid(int *const) was: int * - typeid(::boost::remove_volatile::type) was: int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int *const - typeid(unsigned int *const) was: unsigned int * - typeid(::boost::remove_volatile::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long *const - typeid(long *const) was: long * - typeid(::boost::remove_volatile::type) was: long * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long *const - typeid(unsigned long *const) was: unsigned long * - typeid(::boost::remove_volatile::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float *const - typeid(float *const) was: float * - typeid(::boost::remove_volatile::type) was: float * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double *const - typeid(long double *const) was: long double * - typeid(::boost::remove_volatile::type) was: long double * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double *const - typeid(double *const) was: double * - typeid(::boost::remove_volatile::type) was: double * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: UDT * - typeid(::boost::remove_volatile::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum1 * - typeid(::boost::remove_volatile::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool *const - typeid(bool *const) was: bool * - typeid(::boost::remove_volatile::type) was: bool * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char *const - typeid(char *const) was: char * - typeid(::boost::remove_volatile::type) was: char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t *const - typeid(wchar_t *const) was: wchar_t * - typeid(::boost::remove_volatile::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char *const - typeid(signed char *const) was: signed char * - typeid(::boost::remove_volatile::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char *const - typeid(unsigned char *const) was: unsigned char * - typeid(::boost::remove_volatile::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short *const - typeid(short *const) was: short * - typeid(::boost::remove_volatile::type) was: short * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short *const - typeid(unsigned short *const) was: unsigned short * - typeid(::boost::remove_volatile::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int *const - typeid(int *const) was: int * - typeid(::boost::remove_volatile::type) was: int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int *const - typeid(unsigned int *const) was: unsigned int * - typeid(::boost::remove_volatile::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long *const - typeid(long *const) was: long * - typeid(::boost::remove_volatile::type) was: long * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long *const - typeid(unsigned long *const) was: unsigned long * - typeid(::boost::remove_volatile::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float *const - typeid(float *const) was: float * - typeid(::boost::remove_volatile::type) was: float * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double *const - typeid(long double *const) was: long double * - typeid(::boost::remove_volatile::type) was: long double * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double *const - typeid(double *const) was: double * - typeid(::boost::remove_volatile::type) was: double * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: UDT * - typeid(::boost::remove_volatile::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum1 * - typeid(::boost::remove_volatile::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool const[2] - typeid(bool const[2]) was: bool[2] - typeid(::boost::remove_volatile::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char const[2] - typeid(char const[2]) was: char[2] - typeid(::boost::remove_volatile::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t const[2] - typeid(wchar_t const[2]) was: wchar_t[2] - typeid(::boost::remove_volatile::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char const[2] - typeid(signed char const[2]) was: signed char[2] - typeid(::boost::remove_volatile::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char const[2] - typeid(unsigned char const[2]) was: unsigned char[2] - typeid(::boost::remove_volatile::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short const[2] - typeid(short const[2]) was: short[2] - typeid(::boost::remove_volatile::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short const[2] - typeid(unsigned short const[2]) was: unsigned short[2] - typeid(::boost::remove_volatile::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_volatile::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int const[2] - typeid(unsigned int const[2]) was: unsigned int[2] - typeid(::boost::remove_volatile::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long const[2] - typeid(long const[2]) was: long[2] - typeid(::boost::remove_volatile::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long const[2] - typeid(unsigned long const[2]) was: unsigned long[2] - typeid(::boost::remove_volatile::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float const[2] - typeid(float const[2]) was: float[2] - typeid(::boost::remove_volatile::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double const[2] - typeid(long double const[2]) was: long double[2] - typeid(::boost::remove_volatile::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double const[2] - typeid(double const[2]) was: double[2] - typeid(::boost::remove_volatile::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_volatile::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_volatile::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was bool const[2] - typeid(bool const[2]) was: bool[2] - typeid(::boost::remove_volatile::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was char const[2] - typeid(char const[2]) was: char[2] - typeid(::boost::remove_volatile::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was wchar_t const[2] - typeid(wchar_t const[2]) was: wchar_t[2] - typeid(::boost::remove_volatile::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was signed char const[2] - typeid(signed char const[2]) was: signed char[2] - typeid(::boost::remove_volatile::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned char const[2] - typeid(unsigned char const[2]) was: unsigned char[2] - typeid(::boost::remove_volatile::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was short const[2] - typeid(short const[2]) was: short[2] - typeid(::boost::remove_volatile::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned short const[2] - typeid(unsigned short const[2]) was: unsigned short[2] - typeid(::boost::remove_volatile::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_volatile::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned int const[2] - typeid(unsigned int const[2]) was: unsigned int[2] - typeid(::boost::remove_volatile::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long const[2] - typeid(long const[2]) was: long[2] - typeid(::boost::remove_volatile::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was unsigned long const[2] - typeid(unsigned long const[2]) was: unsigned long[2] - typeid(::boost::remove_volatile::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was float const[2] - typeid(float const[2]) was: float[2] - typeid(::boost::remove_volatile::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was long double const[2] - typeid(long double const[2]) was: long double[2] - typeid(::boost::remove_volatile::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was double const[2] - typeid(double const[2]) was: double[2] - typeid(::boost::remove_volatile::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_volatile::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_volatile::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_reference::type) was: UDT - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_reference::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_reference::type) was: UDT - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_reference::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_reference::type) was: UDT - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_reference::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was bool *volatile - typeid(bool *volatile) was: bool * - typeid(::boost::remove_reference::type) was: bool * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was char *volatile - typeid(char *volatile) was: char * - typeid(::boost::remove_reference::type) was: char * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was wchar_t *volatile - typeid(wchar_t *volatile) was: wchar_t * - typeid(::boost::remove_reference::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was signed char *volatile - typeid(signed char *volatile) was: signed char * - typeid(::boost::remove_reference::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned char *volatile - typeid(unsigned char *volatile) was: unsigned char * - typeid(::boost::remove_reference::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was short *volatile - typeid(short *volatile) was: short * - typeid(::boost::remove_reference::type) was: short * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned short *volatile - typeid(unsigned short *volatile) was: unsigned short * - typeid(::boost::remove_reference::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_reference::type) was: int * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned int *volatile - typeid(unsigned int *volatile) was: unsigned int * - typeid(::boost::remove_reference::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was long *volatile - typeid(long *volatile) was: long * - typeid(::boost::remove_reference::type) was: long * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned long *volatile - typeid(unsigned long *volatile) was: unsigned long * - typeid(::boost::remove_reference::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was float *volatile - typeid(float *volatile) was: float * - typeid(::boost::remove_reference::type) was: float * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was long double *volatile - typeid(long double *volatile) was: long double * - typeid(::boost::remove_reference::type) was: long double * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was double *volatile - typeid(double *volatile) was: double * - typeid(::boost::remove_reference::type) was: double * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_reference::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_reference::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_reference::type) was: UDT - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_reference::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was bool const[2] - typeid(bool const[2]) was: bool[2] - typeid(::boost::remove_reference::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was char const[2] - typeid(char const[2]) was: char[2] - typeid(::boost::remove_reference::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was wchar_t const[2] - typeid(wchar_t const[2]) was: wchar_t[2] - typeid(::boost::remove_reference::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was signed char const[2] - typeid(signed char const[2]) was: signed char[2] - typeid(::boost::remove_reference::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned char const[2] - typeid(unsigned char const[2]) was: unsigned char[2] - typeid(::boost::remove_reference::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was short const[2] - typeid(short const[2]) was: short[2] - typeid(::boost::remove_reference::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned short const[2] - typeid(unsigned short const[2]) was: unsigned short[2] - typeid(::boost::remove_reference::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_reference::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned int const[2] - typeid(unsigned int const[2]) was: unsigned int[2] - typeid(::boost::remove_reference::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was long const[2] - typeid(long const[2]) was: long[2] - typeid(::boost::remove_reference::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was unsigned long const[2] - typeid(unsigned long const[2]) was: unsigned long[2] - typeid(::boost::remove_reference::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was float const[2] - typeid(float const[2]) was: float[2] - typeid(::boost::remove_reference::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was long double const[2] - typeid(long double const[2]) was: long double[2] - typeid(::boost::remove_reference::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was double const[2] - typeid(double const[2]) was: double[2] - typeid(::boost::remove_reference::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_reference::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_reference::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_bounds::type) was: UDT - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_bounds::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_bounds::type) was: UDT - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_bounds::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was bool *volatile - typeid(bool *volatile) was: bool * - typeid(::boost::remove_bounds::type) was: bool * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was char *volatile - typeid(char *volatile) was: char * - typeid(::boost::remove_bounds::type) was: char * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was wchar_t *volatile - typeid(wchar_t *volatile) was: wchar_t * - typeid(::boost::remove_bounds::type) was: wchar_t * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was signed char *volatile - typeid(signed char *volatile) was: signed char * - typeid(::boost::remove_bounds::type) was: signed char * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was unsigned char *volatile - typeid(unsigned char *volatile) was: unsigned char * - typeid(::boost::remove_bounds::type) was: unsigned char * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was short *volatile - typeid(short *volatile) was: short * - typeid(::boost::remove_bounds::type) was: short * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was unsigned short *volatile - typeid(unsigned short *volatile) was: unsigned short * - typeid(::boost::remove_bounds::type) was: unsigned short * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_bounds::type) was: int * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was unsigned int *volatile - typeid(unsigned int *volatile) was: unsigned int * - typeid(::boost::remove_bounds::type) was: unsigned int * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was long *volatile - typeid(long *volatile) was: long * - typeid(::boost::remove_bounds::type) was: long * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was unsigned long *volatile - typeid(unsigned long *volatile) was: unsigned long * - typeid(::boost::remove_bounds::type) was: unsigned long * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was float *volatile - typeid(float *volatile) was: float * - typeid(::boost::remove_bounds::type) was: float * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was long double *volatile - typeid(long double *volatile) was: long double * - typeid(::boost::remove_bounds::type) was: long double * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was double *volatile - typeid(double *volatile) was: double * - typeid(::boost::remove_bounds::type) was: double * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_bounds::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_bounds::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_bounds::type) was: UDT - In template class type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_bounds::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_pointer::type) was: UDT - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_pointer::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_pointer::type) was: UDT - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_pointer::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was bool const[2] - typeid(bool const[2]) was: bool[2] - typeid(::boost::remove_pointer::type) was: bool[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was char const[2] - typeid(char const[2]) was: char[2] - typeid(::boost::remove_pointer::type) was: char[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was wchar_t const[2] - typeid(wchar_t const[2]) was: wchar_t[2] - typeid(::boost::remove_pointer::type) was: wchar_t[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was signed char const[2] - typeid(signed char const[2]) was: signed char[2] - typeid(::boost::remove_pointer::type) was: signed char[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was unsigned char const[2] - typeid(unsigned char const[2]) was: unsigned char[2] - typeid(::boost::remove_pointer::type) was: unsigned char[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was short const[2] - typeid(short const[2]) was: short[2] - typeid(::boost::remove_pointer::type) was: short[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was unsigned short const[2] - typeid(unsigned short const[2]) was: unsigned short[2] - typeid(::boost::remove_pointer::type) was: unsigned short[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_pointer::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was unsigned int const[2] - typeid(unsigned int const[2]) was: unsigned int[2] - typeid(::boost::remove_pointer::type) was: unsigned int[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was long const[2] - typeid(long const[2]) was: long[2] - typeid(::boost::remove_pointer::type) was: long[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was unsigned long const[2] - typeid(unsigned long const[2]) was: unsigned long[2] - typeid(::boost::remove_pointer::type) was: unsigned long[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was float const[2] - typeid(float const[2]) was: float[2] - typeid(::boost::remove_pointer::type) was: float[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was long double const[2] - typeid(long double const[2]) was: long double[2] - typeid(::boost::remove_pointer::type) was: long double[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was double const[2] - typeid(double const[2]) was: double[2] - typeid(::boost::remove_pointer::type) was: double[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_pointer::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_pointer::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_pointer::type) was: UDT - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_pointer::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_pointer::type) was: UDT - In template class type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_pointer::type) was: enum1 - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was bool const (&)[2][3] - typeid(bool const (&)[2][3]) was: bool ( *) const[3] - typeid(::boost::add_reference::type) was: bool ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was char const (&)[2][3] - typeid(char const (&)[2][3]) was: char ( *) const[3] - typeid(::boost::add_reference::type) was: char ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was wchar_t const (&)[2][3] - typeid(wchar_t const (&)[2][3]) was: wchar_t ( *) const[3] - typeid(::boost::add_reference::type) was: wchar_t ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was signed char const (&)[2][3] - typeid(signed char const (&)[2][3]) was: signed char ( *) const[3] - typeid(::boost::add_reference::type) was: signed char ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was unsigned char const (&)[2][3] - typeid(unsigned char const (&)[2][3]) was: unsigned char ( *) const[3] - typeid(::boost::add_reference::type) was: unsigned char ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was short const (&)[2][3] - typeid(short const (&)[2][3]) was: short ( *) const[3] - typeid(::boost::add_reference::type) was: short ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was unsigned short const (&)[2][3] - typeid(unsigned short const (&)[2][3]) was: unsigned short ( *) const[3] - typeid(::boost::add_reference::type) was: unsigned short ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was int const (&)[2][3] - typeid(int const (&)[2][3]) was: int ( *) const[3] - typeid(::boost::add_reference::type) was: int ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was unsigned int const (&)[2][3] - typeid(unsigned int const (&)[2][3]) was: unsigned int ( *) const[3] - typeid(::boost::add_reference::type) was: unsigned int ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was long const (&)[2][3] - typeid(long const (&)[2][3]) was: long ( *) const[3] - typeid(::boost::add_reference::type) was: long ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was unsigned long const (&)[2][3] - typeid(unsigned long const (&)[2][3]) was: unsigned long ( *) const[3] - typeid(::boost::add_reference::type) was: unsigned long ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was float const (&)[2][3] - typeid(float const (&)[2][3]) was: float ( *) const[3] - typeid(::boost::add_reference::type) was: float ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was long double const (&)[2][3] - typeid(long double const (&)[2][3]) was: long double ( *) const[3] - typeid(::boost::add_reference::type) was: long double ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was double const (&)[2][3] - typeid(double const (&)[2][3]) was: double ( *) const[3] - typeid(::boost::add_reference::type) was: double ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was UDT const (&)[2][3] - typeid(UDT const (&)[2][3]) was: UDT ( *) const[3] - typeid(::boost::add_reference::type) was: UDT ( *) const[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was enum1 const (&)[2][3] - typeid(enum1 const (&)[2][3]) was: enum1 ( *) const[3] - typeid(::boost::add_reference::type) was: enum1 ( *) const[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool const* - typeid(bool const*) was: const bool * - typeid(::boost::add_pointer::type) was: bool * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char const* - typeid(char const*) was: const char * - typeid(::boost::add_pointer::type) was: char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t const* - typeid(wchar_t const*) was: const wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char const* - typeid(signed char const*) was: const signed char * - typeid(::boost::add_pointer::type) was: signed char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char const* - typeid(unsigned char const*) was: const unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short const* - typeid(short const*) was: const short * - typeid(::boost::add_pointer::type) was: short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short const* - typeid(unsigned short const*) was: const unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int const* - typeid(unsigned int const*) was: const unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long const* - typeid(long const*) was: const long * - typeid(::boost::add_pointer::type) was: long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long const* - typeid(unsigned long const*) was: const unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float const* - typeid(float const*) was: const float * - typeid(::boost::add_pointer::type) was: float * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double const* - typeid(long double const*) was: const long double * - typeid(::boost::add_pointer::type) was: long double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double const* - typeid(double const*) was: const double * - typeid(::boost::add_pointer::type) was: double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool volatile* - typeid(bool volatile*) was: volatile bool * - typeid(::boost::add_pointer::type) was: bool * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char volatile* - typeid(char volatile*) was: volatile char * - typeid(::boost::add_pointer::type) was: char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t volatile* - typeid(wchar_t volatile*) was: volatile wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char volatile* - typeid(signed char volatile*) was: volatile signed char * - typeid(::boost::add_pointer::type) was: signed char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char volatile* - typeid(unsigned char volatile*) was: volatile unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short volatile* - typeid(short volatile*) was: volatile short * - typeid(::boost::add_pointer::type) was: short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short volatile* - typeid(unsigned short volatile*) was: volatile unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int volatile* - typeid(int volatile*) was: volatile int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int volatile* - typeid(unsigned int volatile*) was: volatile unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long volatile* - typeid(long volatile*) was: volatile long * - typeid(::boost::add_pointer::type) was: long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long volatile* - typeid(unsigned long volatile*) was: volatile unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float volatile* - typeid(float volatile*) was: volatile float * - typeid(::boost::add_pointer::type) was: float * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double volatile* - typeid(long double volatile*) was: volatile long double * - typeid(::boost::add_pointer::type) was: long double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double volatile* - typeid(double volatile*) was: volatile double * - typeid(::boost::add_pointer::type) was: double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT volatile* - typeid(UDT volatile*) was: volatile UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 volatile* - typeid(enum1 volatile*) was: volatile enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool *volatile* - typeid(bool *volatile*) was: bool * volatile * - typeid(::boost::add_pointer::type) was: bool * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char *volatile* - typeid(char *volatile*) was: char * volatile * - typeid(::boost::add_pointer::type) was: char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t *volatile* - typeid(wchar_t *volatile*) was: wchar_t * volatile * - typeid(::boost::add_pointer::type) was: wchar_t * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char *volatile* - typeid(signed char *volatile*) was: signed char * volatile * - typeid(::boost::add_pointer::type) was: signed char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char *volatile* - typeid(unsigned char *volatile*) was: unsigned char * volatile * - typeid(::boost::add_pointer::type) was: unsigned char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short *volatile* - typeid(short *volatile*) was: short * volatile * - typeid(::boost::add_pointer::type) was: short * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short *volatile* - typeid(unsigned short *volatile*) was: unsigned short * volatile * - typeid(::boost::add_pointer::type) was: unsigned short * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int *volatile* - typeid(int *volatile*) was: int * volatile * - typeid(::boost::add_pointer::type) was: int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int *volatile* - typeid(unsigned int *volatile*) was: unsigned int * volatile * - typeid(::boost::add_pointer::type) was: unsigned int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long *volatile* - typeid(long *volatile*) was: long * volatile * - typeid(::boost::add_pointer::type) was: long * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long *volatile* - typeid(unsigned long *volatile*) was: unsigned long * volatile * - typeid(::boost::add_pointer::type) was: unsigned long * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float *volatile* - typeid(float *volatile*) was: float * volatile * - typeid(::boost::add_pointer::type) was: float * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double *volatile* - typeid(long double *volatile*) was: long double * volatile * - typeid(::boost::add_pointer::type) was: long double * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double *volatile* - typeid(double *volatile*) was: double * volatile * - typeid(::boost::add_pointer::type) was: double * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT *volatile* - typeid(UDT *volatile*) was: UDT * volatile * - typeid(::boost::add_pointer::type) was: UDT * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 *volatile* - typeid(enum1 *volatile*) was: enum1 * volatile * - typeid(::boost::add_pointer::type) was: enum1 * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool const* - typeid(bool const*) was: const bool * - typeid(::boost::add_pointer::type) was: bool * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char const* - typeid(char const*) was: const char * - typeid(::boost::add_pointer::type) was: char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t const* - typeid(wchar_t const*) was: const wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char const* - typeid(signed char const*) was: const signed char * - typeid(::boost::add_pointer::type) was: signed char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char const* - typeid(unsigned char const*) was: const unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short const* - typeid(short const*) was: const short * - typeid(::boost::add_pointer::type) was: short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short const* - typeid(unsigned short const*) was: const unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int const* - typeid(unsigned int const*) was: const unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long const* - typeid(long const*) was: const long * - typeid(::boost::add_pointer::type) was: long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long const* - typeid(unsigned long const*) was: const unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float const* - typeid(float const*) was: const float * - typeid(::boost::add_pointer::type) was: float * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double const* - typeid(long double const*) was: const long double * - typeid(::boost::add_pointer::type) was: long double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double const* - typeid(double const*) was: const double * - typeid(::boost::add_pointer::type) was: double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool const * - typeid(bool const *) was: const bool * - typeid(::boost::add_pointer::type) was: bool * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char const * - typeid(char const *) was: const char * - typeid(::boost::add_pointer::type) was: char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t const * - typeid(wchar_t const *) was: const wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char const * - typeid(signed char const *) was: const signed char * - typeid(::boost::add_pointer::type) was: signed char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char const * - typeid(unsigned char const *) was: const unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short const * - typeid(short const *) was: const short * - typeid(::boost::add_pointer::type) was: short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short const * - typeid(unsigned short const *) was: const unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const * - typeid(int const *) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int const * - typeid(unsigned int const *) was: const unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long const * - typeid(long const *) was: const long * - typeid(::boost::add_pointer::type) was: long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long const * - typeid(unsigned long const *) was: const unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float const * - typeid(float const *) was: const float * - typeid(::boost::add_pointer::type) was: float * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double const * - typeid(long double const *) was: const long double * - typeid(::boost::add_pointer::type) was: long double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double const * - typeid(double const *) was: const double * - typeid(::boost::add_pointer::type) was: double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const * - typeid(UDT const *) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const * - typeid(enum1 const *) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool const* - typeid(bool const*) was: const bool * - typeid(::boost::add_pointer::type) was: bool * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char const* - typeid(char const*) was: const char * - typeid(::boost::add_pointer::type) was: char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t const* - typeid(wchar_t const*) was: const wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char const* - typeid(signed char const*) was: const signed char * - typeid(::boost::add_pointer::type) was: signed char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char const* - typeid(unsigned char const*) was: const unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short const* - typeid(short const*) was: const short * - typeid(::boost::add_pointer::type) was: short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short const* - typeid(unsigned short const*) was: const unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int const* - typeid(unsigned int const*) was: const unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long const* - typeid(long const*) was: const long * - typeid(::boost::add_pointer::type) was: long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long const* - typeid(unsigned long const*) was: const unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float const* - typeid(float const*) was: const float * - typeid(::boost::add_pointer::type) was: float * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double const* - typeid(long double const*) was: const long double * - typeid(::boost::add_pointer::type) was: long double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double const* - typeid(double const*) was: const double * - typeid(::boost::add_pointer::type) was: double * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool const (*)[3] - typeid(bool const (*)[3]) was: bool ( *) const[3] - typeid(::boost::add_pointer::type) was: bool ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char const (*)[3] - typeid(char const (*)[3]) was: char ( *) const[3] - typeid(::boost::add_pointer::type) was: char ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t const (*)[3] - typeid(wchar_t const (*)[3]) was: wchar_t ( *) const[3] - typeid(::boost::add_pointer::type) was: wchar_t ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char const (*)[3] - typeid(signed char const (*)[3]) was: signed char ( *) const[3] - typeid(::boost::add_pointer::type) was: signed char ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char const (*)[3] - typeid(unsigned char const (*)[3]) was: unsigned char ( *) const[3] - typeid(::boost::add_pointer::type) was: unsigned char ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short const (*)[3] - typeid(short const (*)[3]) was: short ( *) const[3] - typeid(::boost::add_pointer::type) was: short ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short const (*)[3] - typeid(unsigned short const (*)[3]) was: unsigned short ( *) const[3] - typeid(::boost::add_pointer::type) was: unsigned short ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const (*)[3] - typeid(int const (*)[3]) was: int ( *) const[3] - typeid(::boost::add_pointer::type) was: int ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int const (*)[3] - typeid(unsigned int const (*)[3]) was: unsigned int ( *) const[3] - typeid(::boost::add_pointer::type) was: unsigned int ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long const (*)[3] - typeid(long const (*)[3]) was: long ( *) const[3] - typeid(::boost::add_pointer::type) was: long ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long const (*)[3] - typeid(unsigned long const (*)[3]) was: unsigned long ( *) const[3] - typeid(::boost::add_pointer::type) was: unsigned long ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float const (*)[3] - typeid(float const (*)[3]) was: float ( *) const[3] - typeid(::boost::add_pointer::type) was: float ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double const (*)[3] - typeid(long double const (*)[3]) was: long double ( *) const[3] - typeid(::boost::add_pointer::type) was: long double ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double const (*)[3] - typeid(double const (*)[3]) was: double ( *) const[3] - typeid(::boost::add_pointer::type) was: double ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const (*)[3] - typeid(UDT const (*)[3]) was: UDT ( *) const[3] - typeid(::boost::add_pointer::type) was: UDT ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const (*)[3] - typeid(enum1 const (*)[3]) was: enum1 ( *) const[3] - typeid(::boost::add_pointer::type) was: enum1 ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was bool * - typeid(bool *) was: bool * - typeid(::boost::add_pointer::type) was: bool * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was char * - typeid(char *) was: char * - typeid(::boost::add_pointer::type) was: char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was wchar_t * - typeid(wchar_t *) was: wchar_t * - typeid(::boost::add_pointer::type) was: wchar_t * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was signed char * - typeid(signed char *) was: signed char * - typeid(::boost::add_pointer::type) was: signed char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned char * - typeid(unsigned char *) was: unsigned char * - typeid(::boost::add_pointer::type) was: unsigned char * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was short * - typeid(short *) was: short * - typeid(::boost::add_pointer::type) was: short * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned short * - typeid(unsigned short *) was: unsigned short * - typeid(::boost::add_pointer::type) was: unsigned short * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int * - typeid(int *) was: int * - typeid(::boost::add_pointer::type) was: int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned int * - typeid(unsigned int *) was: unsigned int * - typeid(::boost::add_pointer::type) was: unsigned int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long * - typeid(long *) was: long * - typeid(::boost::add_pointer::type) was: long * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was unsigned long * - typeid(unsigned long *) was: unsigned long * - typeid(::boost::add_pointer::type) was: unsigned long * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was float * - typeid(float *) was: float * - typeid(::boost::add_pointer::type) was: float * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was long double * - typeid(long double *) was: long double * - typeid(::boost::add_pointer::type) was: long double * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was double * - typeid(double *) was: double * - typeid(::boost::add_pointer::type) was: double * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT * - typeid(UDT *) was: UDT * - typeid(::boost::add_pointer::type) was: UDT * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum1 * - typeid(::boost::add_pointer::type) was: enum1 * * - In template class type_checker -1799 tests completed, 422 failures found, 422 failures expected from this compiler. -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -eboosttmp.exe -I../.. -j10 -q ../../libs/type_traits/transform_traits_test.cpp -../../libs/type_traits/transform_traits_test.cpp: -./boosttmp.exe -checking type of ::boost::remove_const::type...failed - expected type was int volatile - typeid(int volatile) was: int - typeid(::boost::remove_const::type) was: int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_const::type) was: UDT - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_const::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile - typeid(int volatile) was: int - typeid(::boost::remove_const::type) was: int - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: UDT - typeid(::boost::remove_const::type) was: UDT - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum1 - typeid(::boost::remove_const::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_const::type) was: int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_const::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_const::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int *volatile - typeid(int *volatile) was: int * - typeid(::boost::remove_const::type) was: int * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: UDT * - typeid(::boost::remove_const::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum1 * - typeid(::boost::remove_const::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int[2] - typeid(::boost::remove_const::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: UDT[2] - typeid(::boost::remove_const::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum1[2] - typeid(::boost::remove_const::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int[2] - typeid(::boost::remove_const::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: UDT[2] - typeid(::boost::remove_const::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum1[2] - typeid(::boost::remove_const::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_volatile::type) was: int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_volatile::type) was: UDT - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_volatile::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_volatile::type) was: int - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: UDT - typeid(::boost::remove_volatile::type) was: UDT - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum1 - typeid(::boost::remove_volatile::type) was: enum1 - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int *const - typeid(int *const) was: int * - typeid(::boost::remove_volatile::type) was: int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: UDT * - typeid(::boost::remove_volatile::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum1 * - typeid(::boost::remove_volatile::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int *const - typeid(int *const) was: int * - typeid(::boost::remove_volatile::type) was: int * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: UDT * - typeid(::boost::remove_volatile::type) was: UDT * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum1 * - typeid(::boost::remove_volatile::type) was: enum1 * - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_volatile::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_volatile::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_volatile::type) was: enum1[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int[2] - typeid(::boost::remove_volatile::type) was: int[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: UDT[2] - typeid(::boost::remove_volatile::type) was: UDT[2] - In template class type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum1[2] - typeid(::boost::remove_volatile::type) was: enum1[2] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was int const (&)[2][3] - typeid(int const (&)[2][3]) was: int ( *)[3] - typeid(::boost::add_reference::type) was: int ( *)[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was UDT const (&)[2][3] - typeid(UDT const (&)[2][3]) was: UDT ( *)[3] - typeid(::boost::add_reference::type) was: UDT ( *)[3] - In template class type_checker -checking type of ::boost::add_reference::type...failed - expected type was enum1 const (&)[2][3] - typeid(enum1 const (&)[2][3]) was: enum1 ( *)[3] - typeid(::boost::add_reference::type) was: enum1 ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int volatile* - typeid(int volatile*) was: volatile int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT volatile* - typeid(UDT volatile*) was: volatile UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 volatile* - typeid(enum1 volatile*) was: volatile enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int *volatile* - typeid(int *volatile*) was: int * volatile * - typeid(::boost::add_pointer::type) was: int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT *volatile* - typeid(UDT *volatile*) was: UDT * volatile * - typeid(::boost::add_pointer::type) was: UDT * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 *volatile* - typeid(enum1 *volatile*) was: enum1 * volatile * - typeid(::boost::add_pointer::type) was: enum1 * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const * - typeid(int const *) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const * - typeid(UDT const *) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const * - typeid(enum1 const *) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const* - typeid(int const*) was: const int * - typeid(::boost::add_pointer::type) was: int * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const* - typeid(UDT const*) was: const UDT * - typeid(::boost::add_pointer::type) was: UDT * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: const enum1 * - typeid(::boost::add_pointer::type) was: enum1 * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int const (*)[3] - typeid(int const (*)[3]) was: int ( *) const[3] - typeid(::boost::add_pointer::type) was: int ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT const (*)[3] - typeid(UDT const (*)[3]) was: UDT ( *) const[3] - typeid(::boost::add_pointer::type) was: UDT ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 const (*)[3] - typeid(enum1 const (*)[3]) was: enum1 ( *) const[3] - typeid(::boost::add_pointer::type) was: enum1 ( *)[3] - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was int * - typeid(int *) was: int * - typeid(::boost::add_pointer::type) was: int * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was UDT * - typeid(UDT *) was: UDT * - typeid(::boost::add_pointer::type) was: UDT * * - In template class type_checker -checking type of ::boost::add_pointer::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum1 * - typeid(::boost::add_pointer::type) was: enum1 * * - In template class type_checker -343 tests completed, 63 failures found, 97 failures expected from this compiler. -Fail - -** Microsoft Visual C++ -cl /Feboosttmp.exe /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/transform_traits_test.cpp /link user32.lib -transform_traits_test.cpp -LINK : LNK6004: boosttmp.exe not found or not built by the last incremental link; performing full link -./boosttmp.exe -checking type of ::boost::remove_const::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_const::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_const::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: struct UDT - typeid(::boost::remove_const::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum enum1 - typeid(::boost::remove_const::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_const::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_const::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: struct UDT * - typeid(::boost::remove_const::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum enum1 * - typeid(::boost::remove_const::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_const::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_const::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_const::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int volatile [2] - typeid(::boost::remove_const::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: struct UDT volatile [2] - typeid(::boost::remove_const::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum enum1 volatile [2] - typeid(::boost::remove_const::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_const::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_const::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_volatile::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_volatile::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_volatile::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_volatile::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_volatile::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_volatile::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: struct UDT * - typeid(::boost::remove_volatile::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum enum1 * - typeid(::boost::remove_volatile::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_volatile::type) was: int volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_volatile::type) was: struct UDT volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_volatile::type) was: enum enum1 volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int const [2] - typeid(::boost::remove_volatile::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: struct UDT const [2] - typeid(::boost::remove_volatile::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum enum1 const [2] - typeid(::boost::remove_volatile::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_volatile::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_volatile::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_cv::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_cv::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_reference::type) was: int (&)[2] - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_reference::type) was: struct UDT (&)[2] - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_reference::type) was: enum enum1 (&)[2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int - typeid(int) was: int - typeid(::boost::remove_bounds::type) was: int [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_bounds::type) was: struct UDT [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_bounds::type) was: enum enum1 [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_bounds::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_bounds::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_bounds::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int const[3] - typeid(int const[3]) was: int const [3] - typeid(::boost::remove_bounds::type) was: int const [2][3] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const[3] - typeid(UDT const[3]) was: struct UDT const [3] - typeid(::boost::remove_bounds::type) was: struct UDT const [2][3] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const[3] - typeid(enum1 const[3]) was: enum enum1 const [3] - typeid(::boost::remove_bounds::type) was: enum enum1 const [2][3] - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was int - typeid(int) was: int - typeid(::boost::remove_pointer::type) was: int * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT volatile * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 volatile * - In template class struct type_checker -325 tests completed, 84 failures found, 0 failures expected from this compiler. -Fail - -** Microsoft Visual C++ with STLport -cl /Feboosttmp.exe /nologo /Zm800 /MT /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport//stlport" /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/transform_traits_test.cpp /link /libpath:e:/stlport/lib user32.lib -transform_traits_test.cpp -./boosttmp.exe -checking type of ::boost::remove_const::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_const::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_const::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: struct UDT - typeid(::boost::remove_const::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum enum1 - typeid(::boost::remove_const::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_const::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_const::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT *volatile - typeid(UDT *volatile) was: struct UDT * - typeid(::boost::remove_const::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 *volatile - typeid(enum1 *volatile) was: enum enum1 * - typeid(::boost::remove_const::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_const::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_const::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_const::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was int volatile[2] - typeid(int volatile[2]) was: int volatile [2] - typeid(::boost::remove_const::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT volatile[2] - typeid(UDT volatile[2]) was: struct UDT volatile [2] - typeid(::boost::remove_const::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 volatile[2] - typeid(enum1 volatile[2]) was: enum enum1 volatile [2] - typeid(::boost::remove_const::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_const::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_const::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_const::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_volatile::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_volatile::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_volatile::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_volatile::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_volatile::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_volatile::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT *const - typeid(UDT *const) was: struct UDT * - typeid(::boost::remove_volatile::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 *const - typeid(enum1 *const) was: enum enum1 * - typeid(::boost::remove_volatile::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_volatile::type) was: int volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_volatile::type) was: struct UDT volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_volatile::type) was: enum enum1 volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was int const[2] - typeid(int const[2]) was: int const [2] - typeid(::boost::remove_volatile::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const[2] - typeid(UDT const[2]) was: struct UDT const [2] - typeid(::boost::remove_volatile::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const[2] - typeid(enum1 const[2]) was: enum enum1 const [2] - typeid(::boost::remove_volatile::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_volatile::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_volatile::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_volatile::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_cv::type) was: struct UDT - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_cv::type) was: enum enum1 - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT * - typeid(UDT *) was: struct UDT * - typeid(::boost::remove_cv::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 * - typeid(enum1 *) was: enum enum1 * - typeid(::boost::remove_cv::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_cv::type) was: int const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_cv::type) was: struct UDT const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_cv::type) was: enum enum1 const volatile [2] - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was UDT const* - typeid(UDT const*) was: struct UDT const * - typeid(::boost::remove_cv::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_cv::type...failed - expected type was enum1 const* - typeid(enum1 const*) was: enum enum1 const * - typeid(::boost::remove_cv::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_reference::type) was: struct UDT const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_reference::type) was: enum enum1 const & - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was int [2] - typeid(int [2]) was: int [2] - typeid(::boost::remove_reference::type) was: int (&)[2] - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was UDT [2] - typeid(UDT [2]) was: struct UDT [2] - typeid(::boost::remove_reference::type) was: struct UDT (&)[2] - In template class struct type_checker -checking type of ::boost::remove_reference::type...failed - expected type was enum1 [2] - typeid(enum1 [2]) was: enum enum1 [2] - typeid(::boost::remove_reference::type) was: enum enum1 (&)[2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int - typeid(int) was: int - typeid(::boost::remove_bounds::type) was: int [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_bounds::type) was: struct UDT [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_bounds::type) was: enum enum1 [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int const - typeid(int const) was: int - typeid(::boost::remove_bounds::type) was: int const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_bounds::type) was: struct UDT const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_bounds::type) was: enum enum1 const [2] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was int const[3] - typeid(int const[3]) was: int const [3] - typeid(::boost::remove_bounds::type) was: int const [2][3] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was UDT const[3] - typeid(UDT const[3]) was: struct UDT const [3] - typeid(::boost::remove_bounds::type) was: struct UDT const [2][3] - In template class struct type_checker -checking type of ::boost::remove_bounds::type...failed - expected type was enum1 const[3] - typeid(enum1 const[3]) was: enum enum1 const [3] - typeid(::boost::remove_bounds::type) was: enum enum1 const [2][3] - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was int - typeid(int) was: int - typeid(::boost::remove_pointer::type) was: int * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT - typeid(UDT) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 - typeid(enum1) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT const - typeid(UDT const) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT const * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 const - typeid(enum1 const) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 const * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was UDT volatile - typeid(UDT volatile) was: struct UDT - typeid(::boost::remove_pointer::type) was: struct UDT volatile * - In template class struct type_checker -checking type of ::boost::remove_pointer::type...failed - expected type was enum1 volatile - typeid(enum1 volatile) was: enum enum1 - typeid(::boost::remove_pointer::type) was: enum enum1 volatile * - In template class struct type_checker -325 tests completed, 84 failures found, 0 failures expected from this compiler. -Fail - -*** libs/type_traits/trivial_destructor_example.cpp *** - -** GCC 2.95.2 -g++ -c -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/trivial_destructor_example.cpp:26: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -c -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/trivial_destructor_example.cpp:26: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -c -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/trivial_destructor_example.cpp -In file included from e:/stlport/stlport/stl/_iosfwd.h:24, - from e:/stlport/stlport/iosfwd:33, - from e:/stlport/stlport/iostream:33, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/trivial_destructor_example.cpp:23: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/trivial_destructor_example.cpp:26: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** Borland C++ 5.5.1 -bcc32 -c -I../.. -j10 -q ../../libs/type_traits/trivial_destructor_example.cpp -../../libs/type_traits/trivial_destructor_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -c -I../.. -j10 -q ../../libs/type_traits/trivial_destructor_example.cpp -../../libs/type_traits/trivial_destructor_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Microsoft Visual C++ -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/trivial_destructor_example.cpp -trivial_destructor_example.cpp -Pass - -** Microsoft Visual C++ with STLport -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport/stlport" /D__STL_DEBUG /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/trivial_destructor_example.cpp -trivial_destructor_example.cpp -Pass - -*** libs/type_traits/copy_example.cpp *** - -** GCC 2.95.2 -g++ -c -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/copy_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/copy_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -c -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/copy_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/copy_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -c -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/copy_example.cpp -In file included from e:/stlport/stlport/stl/_iosfwd.h:24, - from e:/stlport/stlport/iosfwd:33, - from e:/stlport/stlport/iostream:33, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/copy_example.cpp:22: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/copy_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** Borland C++ 5.5.1 -bcc32 -c -I../.. -j10 -q ../../libs/type_traits/copy_example.cpp -../../libs/type_traits/copy_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -c -I../.. -j10 -q ../../libs/type_traits/copy_example.cpp -../../libs/type_traits/copy_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Microsoft Visual C++ -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/copy_example.cpp -copy_example.cpp -Pass - -** Microsoft Visual C++ with STLport -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport/stlport" /D__STL_DEBUG /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/copy_example.cpp -copy_example.cpp -Pass - -*** libs/type_traits/fill_example.cpp *** - -** GCC 2.95.2 -g++ -c -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/fill_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/fill_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -c -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/fill_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/fill_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -c -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/fill_example.cpp -In file included from e:/stlport/stlport/stl/_iosfwd.h:24, - from e:/stlport/stlport/iosfwd:33, - from e:/stlport/stlport/iostream:33, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/fill_example.cpp:22: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/fill_example.cpp:29: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** Borland C++ 5.5.1 -bcc32 -c -I../.. -j10 -q ../../libs/type_traits/fill_example.cpp -../../libs/type_traits/fill_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -c -I../.. -j10 -q ../../libs/type_traits/fill_example.cpp -../../libs/type_traits/fill_example.cpp: -Warning W8027 ../..\boost/smart_ptr.hpp 124: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 195: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 265: Functions containing try are not expanded inline -Warning W8027 ../..\boost/smart_ptr.hpp 287: Functions containing try are not expanded inline -Pass - -** Microsoft Visual C++ -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/fill_example.cpp -fill_example.cpp -Pass - -** Microsoft Visual C++ with STLport -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport/stlport" /D__STL_DEBUG /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/fill_example.cpp -fill_example.cpp -Pass - -*** libs/type_traits/iter_swap_example.cpp *** - -** GCC 2.95.2 -g++ -c -pedantic -Wall -ftemplate-depth-30 -I../.. ../../libs/type_traits/iter_swap_example.cpp -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/iter_swap_example.cpp:31: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + SGI STL 3.3 -g++ -c -pedantic -Wall -ftemplate-depth-30 -Id:/stlimp/sgi330 -I../.. ../../libs/type_traits/iter_swap_example.cpp -In file included from /cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../../../../i586-cygwin32/include/wchar.h:14, - from d:/stlimp/sgi330/char_traits.h:18, - from d:/stlimp/sgi330/stl_string_fwd.h:20, - from d:/stlimp/sgi330/stdexcept:22, - from d:/stlimp/sgi330/stl_range_errors.h:48, - from d:/stlimp/sgi330/vector:30, - from ../../libs/type_traits/iter_swap_example.cpp:28: -/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../../../../i586-cygwin32/include/sys/cdefs.h:10: warning: `__P' redefined -/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95.2/../../../../../include/g++-3/libio.h:62: warning: this is the location of the previous definition -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/iter_swap_example.cpp:31: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** GCC 2.95.2 + STLPort 4 -g++ -c -pedantic -Wall -ftemplate-depth-30 -D__STL_DEBUG -Ie:/stlport/stlport -I../.. ../../libs/type_traits/iter_swap_example.cpp -In file included from e:/stlport/stlport/stl/_iosfwd.h:24, - from e:/stlport/stlport/iosfwd:33, - from e:/stlport/stlport/iostream:33, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/type_traits.h:198: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:206: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:319: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/type_traits.h:323: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_string_hash.h:23, - from e:/stlport/stlport/stl/_string.h:1534, - from e:/stlport/stlport/stl/_locale.c:23, - from e:/stlport/stlport/stl/_locale.h:217, - from e:/stlport/stlport/stl/_ios_base.h:25, - from e:/stlport/stlport/stl/_streambuf.h:21, - from e:/stlport/stlport/streambuf:31, - from e:/stlport/stlport/stl/_stream_iterator.h:47, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_hash_fun.h:93: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_hash_fun.h:96: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/limits:39, - from e:/stlport/stlport/stl/_ostream.h:24, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_limits.h:261: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:262: warning: ANSI C++ forbids long long integer constants -e:/stlport/stlport/stl/_limits.h:266: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_limits.h:267: warning: ANSI C++ forbids long long integer constants -In file included from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_ostream.h:94: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_ostream.h:95: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_numeric_facets.h:233: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:238: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:309: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:311: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:363: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:368: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:406: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:408: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:459: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.h:460: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_numeric_facets.h:529, - from e:/stlport/stlport/stl/_ostream.c:21, - from e:/stlport/stlport/stl/_ostream.h:316, - from e:/stlport/stlport/ostream:32, - from e:/stlport/stlport/stl/_istream.h:23, - from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_numeric_facets.c:127: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:135: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:187: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_numeric_facets.c:194: warning: ANSI C++ does not support `long long' -In file included from e:/stlport/stlport/stl/_stream_iterator.h:218, - from e:/stlport/stlport/iterator:39, - from e:/stlport/stlport/istream:35, - from e:/stlport/stlport/iostream:34, - from ../../libs/type_traits/iter_swap_example.cpp:24: -e:/stlport/stlport/stl/_istream.h:90: warning: ANSI C++ does not support `long long' -e:/stlport/stlport/stl/_istream.h:91: warning: ANSI C++ does not support `long long' -In file included from ../../boost/type_traits/conversion_traits.hpp:25, - from ../../boost/type_traits.hpp:15, - from ../../libs/type_traits/iter_swap_example.cpp:31: -../../boost/type_traits/arithmetic_traits.hpp:59: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:61: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:120: warning: ANSI C++ does not support `long long' -../../boost/type_traits/arithmetic_traits.hpp:122: warning: ANSI C++ does not support `long long' -Pass - -** Borland C++ 5.5.1 -bcc32 -c -I../.. -j10 -q ../../libs/type_traits/iter_swap_example.cpp -../../libs/type_traits/iter_swap_example.cpp: -Pass - -** Borland C++ 5.4 -e:/cpp/cbuilder4/bin/bcc32 -c -I../.. -j10 -q ../../libs/type_traits/iter_swap_example.cpp -../../libs/type_traits/iter_swap_example.cpp: -Pass - -** Microsoft Visual C++ -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /Zi /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/iter_swap_example.cpp -iter_swap_example.cpp -../../libs/type_traits/iter_swap_example.cpp(108) : warning C4508: 'main' : function should return a value; 'void' return type assumed -e:\CPP\VC98\INCLUDE\utility(81) : error C2039: 'iterator_category' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(81) : error C2146: syntax error : missing ';' before identifier 'iterator_category' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(81) : error C2868: 'iterator_category' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2039: 'value_type' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2146: syntax error : missing ';' before identifier 'value_type' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2868: 'value_type' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2039: 'distance_type' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2146: syntax error : missing ';' before identifier 'distance_type' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2868: 'distance_type' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(79) : error C2039: 'reference' : is not a member of 'iterator_traits' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(79) : error C2146: syntax error : missing ';' before identifier 'r1_t' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(79) : error C2065: 'r1_t' : undeclared identifier - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(80) : error C2039: 'reference' : is not a member of 'iterator_traits' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(83) : error C2955: 'is_reference' : use of class template requires template argument list - ../..\boost/type_traits/composite_traits.hpp(209) : see declaration of 'is_reference' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(84) : error C2027: use of undefined type 'is_reference' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(84) : error C2065: 'value' : undeclared identifier - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(85) : error C2955: 'is_same' : use of class template requires template argument list - ../..\boost/type_traits/same_traits.hpp(56) : see declaration of 'is_same' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(86) : error C2039: 'value' : is not a member of 'is_same' - ../..\boost/type_traits/same_traits.hpp(56) : see declaration of 'is_same' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(86) : error C2955: 'ice_and' : use of class template requires template argument list - ../..\boost/type_traits/ice.hpp(60) : see declaration of 'ice_and' - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(int *,int *)' being compiled -e:\CPP\VC98\INCLUDE\utility(81) : error C2039: 'iterator_category' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(81) : error C2146: syntax error : missing ';' before identifier 'iterator_category' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(81) : error C2868: 'iterator_category' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2039: 'value_type' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2146: syntax error : missing ';' before identifier 'value_type' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(82) : error C2868: 'value_type' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2039: 'distance_type' : is not a member of '`global namespace'' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2146: syntax error : missing ';' before identifier 'distance_type' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -e:\CPP\VC98\INCLUDE\utility(83) : error C2868: 'distance_type' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation 'std::iterator_traits' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(79) : error C2039: 'reference' : is not a member of 'iterator_traits' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(79) : error C2146: syntax error : missing ';' before identifier 'r1_t' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(80) : error C2039: 'reference' : is not a member of 'iterator_traits' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(83) : error C2955: 'is_reference' : use of class template requires template argument list - ../..\boost/type_traits/composite_traits.hpp(209) : see declaration of 'is_reference' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(84) : error C2027: use of undefined type 'is_reference' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(85) : error C2955: 'is_same' : use of class template requires template argument list - ../..\boost/type_traits/same_traits.hpp(56) : see declaration of 'is_same' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(86) : error C2039: 'value' : is not a member of 'is_same' - ../..\boost/type_traits/same_traits.hpp(56) : see declaration of 'is_same' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -../../libs/type_traits/iter_swap_example.cpp(86) : error C2955: 'ice_and' : use of class template requires template argument list - ../..\boost/type_traits/ice.hpp(60) : see declaration of 'ice_and' - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(bool *,bool *)' being compiled -Fail - -** Microsoft Visual C++ with STLport -cl /c /nologo /Zm800 /MTd /W3 /GR /GX /Zi /Od /GZ /I "e:/stlport/stlport" /D__STL_DEBUG /I "../.." /D "WIN32" /D "_MBCS" /D "_CONSOLE" ../../libs/type_traits/iter_swap_example.cpp -iter_swap_example.cpp -../../libs/type_traits/iter_swap_example.cpp(108) : warning C4508: 'main' : function should return a value; 'void' return type assumed -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2039: 'iterator_category' : is not a member of '_DBG_iter >,struct _STLD::_Vector_nonconst_traits >' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >)' being compiled -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2146: syntax error : missing ';' before identifier 'iterator_category' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >)' being compiled -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2868: 'iterator_category' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(103) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits >)' being compiled -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2039: 'iterator_category' : is not a member of '_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >)' being compiled -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2146: syntax error : missing ';' before identifier 'iterator_category' - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >)' being compiled -e:/stlport/stlport\stl/_iterator_base.h(103) : error C2868: 'iterator_category' : illegal syntax for using-declaration; expected qualified-name - ../../libs/type_traits/iter_swap_example.cpp(79) : see reference to class template instantiation '_STLD::iterator_traits >,struct _STLD::_Vector_nonconst_traits > > >' being compiled - ../../libs/type_traits/iter_swap_example.cpp(104) : see reference to function template instantiation 'void __cdecl opt::iter_swap(struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >,struct _STLD::_DBG_iter >,struct _STLD::_Vector_nonconst_traits > >)' being compiled -Fail - diff --git a/development/transform_traits_test.cpp b/development/transform_traits_test.cpp deleted file mode 100644 index 75f609c..0000000 --- a/development/transform_traits_test.cpp +++ /dev/null @@ -1,395 +0,0 @@ - -// (C) Copyright John Maddock 2000. Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -#include -#include -#include - -#ifdef __BORLANDC__ -#pragma hrdstop -#endif - -// -// some of these tests, particularly those involving -// the use of the transform_check macro are tantamount -// to "compiler-abuse", and actually hide a *lot* of -// template test code. To prevent "Internal Compiler Error" -// type messages, we have to split these up into lots of -// separate functions: -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x550)) -#define SHORT_TRANSFORM_TEST -#endif -#include "boost/type_traits/type_traits_test.hpp" - -#define BOOST_DECL_TRANSFORM_TEST(name, type, from, to)\ -void name(){ transform_check(type, from, to) } -#define BOOST_DECL_TRANSFORM_TEST3(name, type, from)\ -void name(){ transform_check(type, from, boost_dummy_macro_param) } -#define BOOST_DECL_TRANSFORM_TEST2(name, type)\ -void name(){ transform_check(type, boost_dummy_macro_param, boost_dummy_macro_param) } - -/*********************************************************************** - * - * tests for remove_const: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST3(remove_const_test_1, ::boost::remove_const, const) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_2, ::boost::remove_const, volatile, volatile) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_3, ::boost::remove_const, const volatile, volatile) -BOOST_DECL_TRANSFORM_TEST2(remove_const_test_4, ::boost::remove_const) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_6, ::boost::remove_const, *const, *) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_7, ::boost::remove_const, *volatile, *volatile) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_8, ::boost::remove_const, *const volatile, *volatile) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_9, ::boost::remove_const, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_11, ::boost::remove_const, volatile*, volatile*) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_12, ::boost::remove_const, const[2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_13, ::boost::remove_const, volatile[2], volatile[2]) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_14, ::boost::remove_const, const volatile[2], volatile[2]) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_15, ::boost::remove_const, [2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_16, ::boost::remove_const, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_const_test_17, ::boost::remove_const, const*const, const*) - -void check_remove_const() -{ - remove_const_test_1(); - remove_const_test_2(); - remove_const_test_3(); - remove_const_test_4(); - remove_const_test_6(); - remove_const_test_7(); - remove_const_test_8(); - remove_const_test_9(); - remove_const_test_11(); - remove_const_test_12(); - remove_const_test_13(); - remove_const_test_14(); - remove_const_test_15(); - remove_const_test_16(); - remove_const_test_17(); -} - -/*********************************************************************** - * - * tests for remove_volatile: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_1, ::boost::remove_volatile, const, const) -BOOST_DECL_TRANSFORM_TEST3(remove_volatile_test_2, ::boost::remove_volatile, volatile) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_3, ::boost::remove_volatile, const volatile, const) -BOOST_DECL_TRANSFORM_TEST2(remove_volatile_test_4, ::boost::remove_volatile) -BOOST_DECL_TRANSFORM_TEST2(remove_volatile_test_5, ::boost::remove_volatile) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_6, ::boost::remove_volatile, *const, *const) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_7, ::boost::remove_volatile, *volatile, *) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_8, ::boost::remove_volatile, *const volatile, *const) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_9, ::boost::remove_volatile, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_10, ::boost::remove_volatile, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_11, ::boost::remove_volatile, volatile*, volatile*) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_12, ::boost::remove_volatile, const[2], const[2]) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_13, ::boost::remove_volatile, volatile[2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_14, ::boost::remove_volatile, const volatile[2], const[2]) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_15, ::boost::remove_volatile, [2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_16, ::boost::remove_volatile, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_volatile_test_17, ::boost::remove_volatile, const*volatile, const*) - -void check_remove_volatile() -{ - remove_volatile_test_1(); - remove_volatile_test_2(); - remove_volatile_test_3(); - remove_volatile_test_4(); - remove_volatile_test_5(); - remove_volatile_test_6(); - remove_volatile_test_7(); - remove_volatile_test_8(); - remove_volatile_test_9(); - remove_volatile_test_10(); - remove_volatile_test_11(); - remove_volatile_test_12(); - remove_volatile_test_13(); - remove_volatile_test_14(); - remove_volatile_test_15(); - remove_volatile_test_16(); - remove_volatile_test_17(); -} - -/*********************************************************************** - * - * tests for remove_cv: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_1, ::boost::remove_cv, const) -BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_2, ::boost::remove_cv, volatile) -BOOST_DECL_TRANSFORM_TEST3(remove_cv_test_3, ::boost::remove_cv, const volatile) -BOOST_DECL_TRANSFORM_TEST2(remove_cv_test_4, ::boost::remove_cv) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_5, ::boost::remove_cv, const &, const&) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_6, ::boost::remove_cv, *const, *) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_7, ::boost::remove_cv, *volatile, *) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_8, ::boost::remove_cv, *const volatile, *) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_9, ::boost::remove_cv, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_10, ::boost::remove_cv, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_11, ::boost::remove_cv, volatile*, volatile*) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_12, ::boost::remove_cv, const[2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_13, ::boost::remove_cv, volatile[2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_14, ::boost::remove_cv, const volatile[2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_15, ::boost::remove_cv, [2], [2]) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_16, ::boost::remove_cv, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_cv_test_17, ::boost::remove_cv, const*volatile, const*) - -void check_remove_cv() -{ - remove_cv_test_1(); - remove_cv_test_2(); - remove_cv_test_3(); - remove_cv_test_4(); - remove_cv_test_5(); - remove_cv_test_6(); - remove_cv_test_7(); - remove_cv_test_8(); - remove_cv_test_9(); - remove_cv_test_10(); - remove_cv_test_11(); - remove_cv_test_12(); - remove_cv_test_13(); - remove_cv_test_14(); - remove_cv_test_15(); - remove_cv_test_16(); - remove_cv_test_17(); -} - -/*********************************************************************** - * - * tests for remove_reference: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_1, ::boost::remove_reference, const, const) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_2, ::boost::remove_reference, volatile, volatile) -BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_3, ::boost::remove_reference, &) -BOOST_DECL_TRANSFORM_TEST2(remove_reference_test_4, ::boost::remove_reference) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_5, ::boost::remove_reference, const &, const) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_6, ::boost::remove_reference, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_7, ::boost::remove_reference, *volatile, *volatile) -BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_8, ::boost::remove_reference, &) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_9, ::boost::remove_reference, const &, const) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_10, ::boost::remove_reference, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_11, ::boost::remove_reference, volatile*, volatile*) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_12, ::boost::remove_reference, const[2], const[2]) -BOOST_DECL_TRANSFORM_TEST(remove_reference_test_13, ::boost::remove_reference, (&)[2], [2]) - -void check_remove_reference() -{ - remove_reference_test_1(); - remove_reference_test_2(); - remove_reference_test_3(); - remove_reference_test_4(); - remove_reference_test_5(); - remove_reference_test_6(); - remove_reference_test_7(); - remove_reference_test_8(); - remove_reference_test_9(); - remove_reference_test_10(); - remove_reference_test_11(); - remove_reference_test_12(); - remove_reference_test_13(); -} - -/*********************************************************************** - * - * tests for remove_bounds: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_1, ::boost::remove_bounds, const, const) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_2, ::boost::remove_bounds, volatile, volatile) -BOOST_DECL_TRANSFORM_TEST3(remove_bounds_test_3, ::boost::remove_bounds, [2]) -BOOST_DECL_TRANSFORM_TEST2(remove_bounds_test_4, ::boost::remove_bounds) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_5, ::boost::remove_bounds, const &, const&) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_6, ::boost::remove_bounds, *, *) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_7, ::boost::remove_bounds, *volatile, *volatile) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_8, ::boost::remove_bounds, const [2], const) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_9, ::boost::remove_bounds, const &, const&) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_10, ::boost::remove_bounds, const*, const*) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_11, ::boost::remove_bounds, volatile*, volatile*) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_12, ::boost::remove_bounds, const[2][3], const[3]) -BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_13, ::boost::remove_bounds, (&)[2], (&)[2]) - -void check_remove_bounds() -{ - remove_bounds_test_1(); - remove_bounds_test_2(); - remove_bounds_test_3(); - remove_bounds_test_4(); - remove_bounds_test_5(); - remove_bounds_test_6(); - remove_bounds_test_7(); - remove_bounds_test_8(); - remove_bounds_test_9(); - remove_bounds_test_10(); - remove_bounds_test_11(); - remove_bounds_test_12(); - remove_bounds_test_13(); -} - -/*********************************************************************** - * - * tests for remove_pointer: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_1, ::boost::remove_pointer, const, const) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_2, ::boost::remove_pointer, volatile, volatile) -BOOST_DECL_TRANSFORM_TEST3(remove_pointer_test_3, ::boost::remove_pointer, *) -BOOST_DECL_TRANSFORM_TEST2(remove_pointer_test_4, ::boost::remove_pointer) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_5, ::boost::remove_pointer, const &, const&) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_6, ::boost::remove_pointer, &, &) -BOOST_DECL_TRANSFORM_TEST3(remove_pointer_test_7, ::boost::remove_pointer, *volatile) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_8, ::boost::remove_pointer, const [2], const[2]) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_9, ::boost::remove_pointer, const &, const&) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_10, ::boost::remove_pointer, const*, const) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_11, ::boost::remove_pointer, volatile*, volatile) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_12, ::boost::remove_pointer, const[2][3], const[2][3]) -BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_13, ::boost::remove_pointer, (&)[2], (&)[2]) - -void check_remove_pointer() -{ - remove_pointer_test_1(); - remove_pointer_test_2(); - remove_pointer_test_3(); - remove_pointer_test_4(); - remove_pointer_test_5(); - remove_pointer_test_6(); - remove_pointer_test_7(); - remove_pointer_test_8(); - remove_pointer_test_9(); - remove_pointer_test_10(); - remove_pointer_test_11(); - remove_pointer_test_12(); - remove_pointer_test_13(); -} - -/*********************************************************************** - * - * tests for add_reference: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(add_reference_test_1, ::boost::add_reference, const, const&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_2, ::boost::add_reference, volatile, volatile&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_3, ::boost::add_reference, *, *&) -//BOOST_DECL_TRANSFORM_TEST2(add_reference_test_4, ::boost::add_reference) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_5, ::boost::add_reference, const &, const&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_6, ::boost::add_reference, &, &) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_7, ::boost::add_reference, *volatile, *volatile&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_8, ::boost::add_reference, const [2], const (&)[2]) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_9, ::boost::add_reference, const &, const&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_10, ::boost::add_reference, const*, const*&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_11, ::boost::add_reference, volatile*, volatile*&) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_12, ::boost::add_reference, const[2][3], const (&)[2][3]) -BOOST_DECL_TRANSFORM_TEST(add_reference_test_13, ::boost::add_reference, (&)[2], (&)[2]) - -void check_add_reference() -{ - add_reference_test_1(); - add_reference_test_2(); - add_reference_test_3(); - //add_reference_test_4(); - add_reference_test_5(); - add_reference_test_6(); - add_reference_test_7(); - add_reference_test_8(); - add_reference_test_9(); - add_reference_test_10(); - add_reference_test_11(); - add_reference_test_12(); - add_reference_test_13(); -} - -/*********************************************************************** - * - * tests for add_pointer: - * - **********************************************************************/ - -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_1, ::boost::add_pointer, const, const*) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_2, ::boost::add_pointer, volatile, volatile*) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_3, ::boost::add_pointer, *, **) -//BOOST_DECL_TRANSFORM_TEST2(add_pointer_test_4, ::boost::add_pointer) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_7, ::boost::add_pointer, *volatile, *volatile*) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_10, ::boost::add_pointer, const*, const**) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_11, ::boost::add_pointer, volatile*, volatile**) -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_5, ::boost::add_pointer, const &, const*) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_6, ::boost::add_pointer, &, *) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_8, ::boost::add_pointer, const [2], const *) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_9, ::boost::add_pointer, const &, const*) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_12, ::boost::add_pointer, const[2][3], const (*)[3]) -BOOST_DECL_TRANSFORM_TEST(add_pointer_test_13, ::boost::add_pointer, (&)[2], *) -#endif - -void check_add_pointer() -{ - add_pointer_test_1(); - add_pointer_test_2(); - add_pointer_test_3(); - //add_pointer_test_4(); - add_pointer_test_7(); - add_pointer_test_10(); - add_pointer_test_11(); -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - add_pointer_test_5(); - add_pointer_test_6(); - add_pointer_test_8(); - add_pointer_test_9(); - add_pointer_test_12(); - add_pointer_test_13(); -#endif -} - - -int main(int argc, char* argv[]) -{ - check_remove_const(); - check_remove_volatile(); - check_remove_cv(); - check_remove_reference(); - check_remove_bounds(); - check_remove_pointer(); - check_add_reference(); - check_add_pointer(); - - type_test(void, boost::remove_const::type) - type_test(void, boost::remove_volatile::type) - type_test(void, boost::remove_cv::type) - - type_test(int, boost::remove_reference::type) - type_test(void, boost::remove_reference::type) - - type_test(void, boost::remove_bounds::type) - type_test(void, boost::remove_pointer::type) - - return check_result(argc, argv); -} - -// -// define the number of failures expected for given compilers: -#ifdef __BORLANDC__ -#ifdef SHORT_TRANSFORM_TEST -unsigned int expected_failures = 97; // cv-qualifiers -#else -unsigned int expected_failures = 422; // cv-qualifiers -#endif -#elif defined(__GNUC__) -unsigned int expected_failures = 1; // cv-qualified references -#else -unsigned int expected_failures = 0; -#endif - - - - diff --git a/development/trivial_destructor_example.cpp b/development/trivial_destructor_example.cpp deleted file mode 100644 index ff7d256..0000000 --- a/development/trivial_destructor_example.cpp +++ /dev/null @@ -1,166 +0,0 @@ - -/* - * - * Copyright (c) 1999 - * Dr John Maddock - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Dr John Maddock makes no representations - * about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * This file provides some example of type_traits usage - - * by "optimising" various algorithms: - * - * opt::destroy_array - an example of optimisation based upon omitted destructor calls - * - */ - - -#include - -#include -#include - -using std::cout; -using std::endl; -using std::cin; - -namespace opt{ - -// -// algorithm destroy_array: -// The reverse of std::unitialized_copy, takes a block of -// initialized memory and calls destructors on all objects therein. -// - -namespace detail{ - -template -struct array_destroyer -{ - template - static void destroy_array(T* i, T* j){ do_destroy_array(i, j); } -}; - -template <> -struct array_destroyer -{ - template - static void destroy_array(T*, T*){} -}; - -template -void do_destroy_array(T* first, T* last) -{ - while(first != last) - { - first->~T(); - ++first; - } -} - -}; // namespace detail - -template -inline void destroy_array(T* p1, T* p2) -{ - detail::array_destroyer::value>::destroy_array(p1, p2); -} - -// -// unoptimised versions of destroy_array: -// -template -void destroy_array1(T* first, T* last) -{ - while(first != last) - { - first->~T(); - ++first; - } -} -template -void destroy_array2(T* first, T* last) -{ - for(; first != last; ++first) first->~T(); -} - -} // namespace opt - -// -// define some global data: -// -const int array_size = 1000; -int i_array[array_size] = {0,}; -const int ci_array[array_size] = {0,}; -char c_array[array_size] = {0,}; -const char cc_array[array_size] = { 0,}; - -const int iter_count = 1000000; - - -int main() -{ - boost::timer t; - double result; - int i; - // - // test destroy_array, - // compare destruction time of an array of ints - // with unoptimised form. - // - cout << "Measuring times in micro-seconds per 1000 elements processed" << endl << endl; - cout << "testing destroy_array...\n" - "[Some compilers may be able to optimise the \"unoptimised\"\n versions as well as type_traits does.]" << endl; - - // cache load: - opt::destroy_array(i_array, i_array + array_size); - - // time optimised version: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::destroy_array(i_array, i_array + array_size); - } - result = t.elapsed(); - cout << "destroy_array: " << result << endl; - - // cache load: - opt::destroy_array1(i_array, i_array + array_size); - - // time unoptimised version #1: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::destroy_array1(i_array, i_array + array_size); - } - result = t.elapsed(); - cout << "destroy_array(unoptimised#1): " << result << endl; - - // cache load: - opt::destroy_array2(i_array, i_array + array_size); - - // time unoptimised version #2: - t.restart(); - for(i = 0; i < iter_count; ++i) - { - opt::destroy_array2(i_array, i_array + array_size); - } - result = t.elapsed(); - cout << "destroy_array(unoptimised#2): " << result << endl << endl; - - return 0; -} - - - - - - - - - diff --git a/include/boost/detail/ob_type_traits.hpp b/include/boost/detail/ob_type_traits.hpp deleted file mode 100644 index 8be87ec..0000000 --- a/include/boost/detail/ob_type_traits.hpp +++ /dev/null @@ -1,609 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// -// Crippled version of type traits for compilers that don't -// support partial specialisation. (C) John Maddock 2000 - -/* Release notes: - 20 Jan 2001: - Fixed is_same so it would work with T == void or U == void - Suppressed some warnings in from_not_void_conversion<> for MSVC - Fixed a spelling error - (David Abrahams) - 07 Oct 2000: - Added more fixes for is_array (based on a newgroup posting by Jonathan Lundquist). - 03 Oct 2000: - Added more fixes to is_pointer and is_array (JM). - 01st October 2000: - Fixed is_pointer, is_reference, is_const, is_volatile, is_same, is_member_pointer - using ideas suggested from "Generic: Mappings between Types and Values" - by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - Mat Marcus and Jesse Jones posted a version of is_pointer very similar to this one - on the boost list (Copyright 2000 Adobe Systems Incorporated and others. - All rights reserved.). - 31st July 2000: - Added is_convertible, alignment_of. - 23rd July 2000: - Fixed is_void specialization. (JM) -*/ - -// -// partial copyright for is_convertible: -// -// Copyright (C) 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright (C) 1999, 2000 Jaakko J„rvi (jaakko.jarvi@cs.utu.fi) -// -// Permission to copy and use this software is granted, -// provided this copyright notice appears in all copies. -// Permission to modify the code and to distribute modified code is granted, -// provided this copyright notice appears in all copies, and a notice -// that the code was modified is included with the copyright notice. -// -// This software is provided "as is" without express or implied warranty, -// and with no claim as to its suitability for any purpose. - -#ifndef BOOST_OB_TYPE_TRAITS_HPP -#define BOOST_OB_TYPE_TRAITS_HPP - -#include - -#ifndef BOOST_TYPE_TRAITS_HPP -#error Internal header file: This header must be included by only. -#endif - -// ************************************************************************** -// Helper macros for builitin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: - -#define BOOST_IS_CLASS(T) !is_union::value & \ - !is_scalar::value & \ - !is_array::value & \ - !is_reference::value & \ - !is_void::value -#define BOOST_IS_ENUM(T) false -#define BOOST_IS_UNION(T) false -#define BOOST_IS_POD(T) false -#define BOOST_IS_EMPTY(T) false -#define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) false -#define BOOST_HAS_TRIVIAL_COPY(T) false -#define BOOST_HAS_TRIVIAL_ASSIGN(T) false -#define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) false - - -/**************************************************************************/ - -namespace boost{ -// -// start with fundamental type operations: -// these don't actually work: -// -template -struct remove_volatile{ typedef T type; }; -template -struct remove_const{ typedef T type; }; -template -struct remove_cv{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -template struct add_reference{ typedef T& type; }; -template struct remove_bounds{ typedef T type; }; - -/**************************************************************************/ -// -// fundamental property classes: - -//* is a type T declared const - is_const -namespace detail{ - typedef char yes_result; - typedef char (&no_result)[8]; - yes_result is_const_helper(const volatile void*); - no_result is_const_helper(volatile void *); - yes_result is_volatile_helper(const volatile void*); - no_result is_volatile_helper(const void *); -} - -template -struct is_const -{ -private: - static T t; -public: - enum{ value = (sizeof(detail::yes_result) == sizeof(detail::is_const_helper(&t))) }; -}; - -template -struct is_volatile -{ -private: - static T t; -public: - enum{ value = (sizeof(detail::yes_result) == sizeof(detail::is_volatile_helper(&t))) }; -}; - -namespace detail{ - template - yes_result is_same_helper(T*, T*); - no_result is_same_helper(...); - - template - struct size_of - { - enum { value = sizeof(T) }; - }; - - template <> - struct size_of - { - enum { value = 0 }; - }; -} - -template struct is_reference; -template struct is_same -{ -private: - static type t; - static type u; -public: - enum{ value = (sizeof(detail::yes_result) == sizeof(detail::is_same_helper(&t,&u))) - & (is_reference::value == is_reference::value) - & (detail::size_of::value == detail::size_of::value) }; -}; - -template struct is_void{ enum{ value = false }; }; -template <> struct is_void{ enum{ value = true }; }; - -//* is a type T an unsigned integral type described in the standard (3.9.1p3) -template struct is_standard_unsigned_integral -{ enum{ value = false}; }; -template <> struct is_standard_unsigned_integral -{ enum{ value = true}; }; -template <> struct is_standard_unsigned_integral -{ enum{ value = true}; }; -template <> struct is_standard_unsigned_integral -{ enum{ value = true}; }; -template <> struct is_standard_unsigned_integral -{ enum{ value = true}; }; - -//* is a type T a signed integral type described in the standard (3.9.1p2) -template struct is_standard_signed_integral -{ enum{ value = false}; }; -template <> struct is_standard_signed_integral -{ enum{ value = true}; }; -template <> struct is_standard_signed_integral -{ enum{ value = true}; }; -template <> struct is_standard_signed_integral -{ enum{ value = true}; }; -template <> struct is_standard_signed_integral -{ enum{ value = true}; }; - -//* is a type T an integral type described in the standard (3.9.1p7) -template struct is_standard_integral -{ enum{ value = is_standard_unsigned_integral::value | -is_standard_signed_integral::value }; }; -template <> struct is_standard_integral -{ enum{ value = true}; }; -template <> struct is_standard_integral -{ enum{ value = true}; }; -template <> struct is_standard_integral -{ enum{ value = true}; }; - -//* is a type T a floating-point type described in the standard (3.9.1p8) -template struct is_standard_float -{ enum{ value = false}; }; -template <> struct is_standard_float -{ enum{ value = true}; }; -template <> struct is_standard_float -{ enum{ value = true}; }; -template <> struct is_standard_float -{ enum{ value = true}; }; - -//* is a type T an arithmetic type described in the standard (3.9.1p8) -template struct is_standard_arithmetic -{ enum{ value = is_standard_integral::value | is_standard_float::value}; }; - -//* is a type T a fundamental type described in the standard (3.9.1) -template struct is_standard_fundamental -{ enum{ value = is_standard_arithmetic::value | is_void::value}; }; - -//* is a type T an unsigned integral type provided by a compiler extension -// specialise for compiler defined extentions: -template struct is_extension_unsigned_integral -{ enum{ value = false}; }; - -//* is a type T a signed integral type provided by a compiler extension -// specialise for compiler defined extentions: -template struct is_extension_signed_integral -{ enum{ value = false}; }; - -#ifdef ULLONG_MAX -template <> struct is_extension_unsigned_integral -{ enum{ value = true}; }; -template <> struct is_extension_signed_integral -{ enum{ value = true}; }; -#endif -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_extension_unsigned_integral -{ enum{ value = true}; }; -template <> struct is_extension_signed_integral<__int64> -{ enum{ value = true}; }; -#endif - -//* is a type T an integral type provided by a compiler extension -template struct is_extension_integral -{ enum{ value = is_extension_signed_integral::value | - is_extension_unsigned_integral::value }; }; - -//* is a type T a floating-point type provided by a compiler extension -template struct is_extension_float -{ enum{ value = false}; }; - -//* is a type T an arithmetic type provided by a compiler extension -template struct is_extension_arithmetic -{ enum{ value = is_extension_integral::value | is_extension_float::value}; }; - -//* is a type T a fundamental type provided by a compiler extension -template struct is_extension_fundamental -{ enum{ value = is_extension_arithmetic::value | is_void::value}; }; - -//* is a type T an unsigned integral type provided by the compiler or standard -template struct is_unsigned_integral -{ enum{ value = is_standard_unsigned_integral::value | is_extension_unsigned_integral::value}; }; - -//* is a type T a signed integral type provided by the compiler or standard -template struct is_signed_integral -{ enum{ value = is_standard_signed_integral::value | is_extension_signed_integral::value}; }; - -//* is a type T an integral type provided by the compiler or standard -template struct is_integral -{ enum{ value = is_standard_integral::value | is_extension_integral::value}; }; - -//* is a type T a floating-point type provided by the compiler or standard -template struct is_float -{ enum{ value = is_standard_float::value | is_extension_float::value}; }; - -//* is a type T an arithmetic type provided by the compiler or standard -template struct is_arithmetic -{ enum{ value = is_standard_arithmetic::value | is_extension_arithmetic::value}; }; - -//* is a type T a fundamental type provided by the compiler or standard -template struct is_fundamental -{ enum{ value = is_standard_fundamental::value | is_extension_fundamental::value}; }; - -//* is a type T an array - is_array -namespace detail{ - struct pointer_helper - { - pointer_helper(const volatile void*); - }; - yes_result is_pointer_helper(pointer_helper); - no_result is_pointer_helper(...); - template - yes_result is_pointer_helper3(T (*)(void)); - template - yes_result is_pointer_helper3(T (*)(A1)); - template - yes_result is_pointer_helper3(T (*)(A1, A2)); - template - yes_result is_pointer_helper3(T (*)(A1, A2, A3)); - no_result is_pointer_helper3(...); - - yes_result is_array_helper(const volatile void*, const volatile void*); - template - no_result is_array_helper(T**, const volatile void*); - no_result is_array_helper(...); -} -template struct is_array -{ -private: - static T t; -public: - enum{ value = (1 == sizeof(detail::is_pointer_helper(t))) - & (1 == sizeof(detail::is_array_helper(&t, t))) - & !is_reference::value - & !(1 == sizeof(detail::is_pointer_helper3(t))) }; -}; - -//* is a type T a pointer type (including function pointers) - is_pointer -template struct is_pointer -{ -private: - static T t; -public: - enum{ value = (!is_const::value - & !is_volatile::value - & !is_reference::value - & !is_array::value) - & ((1 == sizeof(detail::is_pointer_helper(t))) - | (1 == sizeof(detail::is_pointer_helper3(t)))) }; -}; - -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4181) -# endif // BOOST_MSVC - -//* is a type T a reference type - is_reference -template struct is_reference -{ -private: - typedef T const volatile cv_t; -public: - enum // dwa 10/27/00 - VC6.4 seems to choke on short-circuit (&&,||) - { // evaluations in constant expressions - value = !is_const::value | !is_volatile::value - }; -}; -template <> struct is_reference -{ - enum{ value = false }; -}; - -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif // BOOST_MSVC - -//*? is a type T a union type - is_union -template struct is_union -{ enum{ value = BOOST_IS_UNION(T) }; }; - -//*? is a type T an enum - is_enum -template struct is_enum -{ enum{ value = BOOST_IS_ENUM(T) }; }; - -//* is a type T a member function pointer - is_member_pointer -namespace detail{ - template - yes_result is_member_pointer_helper(T (U::*)); - template - yes_result is_member_pointer_helper(T (U::*)(void)); - template - yes_result is_member_pointer_helper(T (U::*)(A1)); - template - yes_result is_member_pointer_helper(T (U::*)(A1, A2)); - no_result is_member_pointer_helper(...); -} -template struct is_member_pointer -{ -private: - static T t; -public: - enum{ value = (1 == sizeof(detail::is_member_pointer_helper(t))) }; -}; - -//* is type T an object type (allows cv-qual) -template struct is_object -{ enum{ value = !is_reference::value & !is_void::value }; }; - -//* is type T a standard scalar type (allows cv-qual) -template struct is_standard_scalar -{ enum{ value = is_standard_arithmetic::value - | is_enum::value - | is_pointer::value - | is_member_pointer::value }; }; - -//* is type T an extension scalar type (allows cv-qual) -template struct is_extension_scalar -{ enum{ value = is_extension_arithmetic::value - | is_enum::value - | is_pointer::value - | is_member_pointer::value }; }; - -//* is type T a builtin scalar type (allows cv-qual) -template struct is_scalar -{ enum{ value = is_arithmetic::value - | is_enum::value - | is_pointer::value - | is_member_pointer::value }; }; - -//*? is a type T a class type (class/struct) - is_class -template struct is_class -{ enum{ value = BOOST_IS_CLASS(T) }; }; - -//*? is a type T a compound type -template struct is_compound -{ enum{ value = is_array::value | is_pointer::value - | is_reference::value | is_class::value | is_union::value - | is_enum::value | is_member_pointer::value }; }; - -//*? is type T a POD type (allows cv-qual) -template struct is_POD -{ enum{ value = is_scalar::value //JM 7Jan2000 - | BOOST_IS_POD(T) }; }; - -namespace detail{ - - // This workaround is necessary to handle when From is void - // which is normally taken care of by the partial specialization - // of the is_convertible class. -#ifdef BOOST_MSVC6_MEMBER_TEMPLATES - struct from_not_void_conversion { - template - struct bind { - static no_result check(...); - static yes_result check(To); - public: - void foo(); // avoid warning about all members being private - static From from; -# ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable:4244 4245 4135 4136 4051 4134) // disable all conversion warnings -# endif - enum { exists = sizeof( check(from) ) == sizeof(yes_result) }; -# ifdef BOOST_MSVC -# pragma warning(pop) -# endif - }; - }; - struct from_is_void_conversion { - template - struct bind { - enum { exists = is_void::value }; - }; - }; - - template - struct conversion_helper { - typedef from_not_void_conversion type; - }; - template <> - struct conversion_helper { - typedef from_is_void_conversion type; - }; -#endif -} // namespace detail - -template -class is_convertible -{ -#ifdef BOOST_MSVC6_MEMBER_TEMPLATES - typedef typename detail::conversion_helper::type Selector; - typedef Selector::template bind Conversion; -public: - enum { value = Conversion::exists }; -#else - static detail::no_result check(...); - static detail::yes_result check(To); - public: - void foo(); // avoid warning about all members being private - static From from; - enum { value = sizeof( check(from) ) == sizeof(detail::yes_result) }; -#endif -}; - -template -class alignment_of -{ - struct padded - { - char c; - T t; - padded(); - }; -public: - enum{ value = sizeof(padded) - sizeof(T) }; -}; - -//*? is type T an empty composite type (allows cv-qual) -#if defined(BOOST_MSVC6_MEMBER_TEMPLATES) || !defined(BOOST_NO_MEMBER_TEMPLATES) - -namespace detail{ - -template -struct empty_helper_t1 : public T -{ - int i[256]; -}; -struct empty_helper_t2 { int i[256]; }; - -template -struct empty_helper_base -{ - enum{ value = (sizeof(empty_helper_t1) == sizeof(empty_helper_t2)) }; -}; - -template -struct empty_helper_nonbase -{ - enum{ value = false }; -}; - -template -struct empty_helper_chooser -{ - template - struct rebind - { - typedef empty_helper_nonbase type; - }; -}; - -template <> -struct empty_helper_chooser -{ - template - struct rebind - { - typedef empty_helper_base type; - }; -}; - -} // namespace detail - -template -struct is_empty -{ -private: - typedef detail::empty_helper_chooser< - !is_convertible::value - & !is_convertible::value - & !is_pointer::value - & !is_member_pointer::value - & !is_array::value - & !is_convertible::value> chooser; - typedef typename chooser::template rebind bound_type; - typedef typename bound_type::type eh_type; -public: - enum{ value = eh_type::value | BOOST_IS_EMPTY(T) }; -}; - -#else -template struct is_empty -{ enum{ value = BOOST_IS_EMPTY(T) }; }; -#endif - -//*? T has trivial default constructor (allows cv-qual) -template struct has_trivial_constructor -{ - enum{ value = is_POD::value | BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) }; -}; - -//*? T has trivial copy constructor (allows cv-qual) -template struct has_trivial_copy -{ - enum{ value = is_POD::value | BOOST_HAS_TRIVIAL_COPY(T) }; -}; - -//*? T has trivial assignment operator (allows cv-qual) -template -struct has_trivial_assign -{ - enum{ value = is_POD::value | BOOST_HAS_TRIVIAL_ASSIGN(T) }; -}; - -//*? T has trivial destructor (allows cv-qual) -template -struct has_trivial_destructor -{ - enum{ value = is_POD::value | BOOST_HAS_TRIVIAL_DESTRUCTOR(T) }; -}; - -} // namespace boost - -/**************************************************************************/ - -// -// undefine helper macro's: -// -#undef BOOST_IS_CLASS -#undef BOOST_IS_ENUM -#undef BOOST_IS_UNION -#undef BOOST_IS_POD -#undef BOOST_IS_EMPTY -#undef BOOST_HAS_TRIVIAL_CONSTRUCTOR -#undef BOOST_HAS_TRIVIAL_COPY -#undef BOOST_HAS_TRIVIAL_ASSIGN -#undef BOOST_HAS_TRIVIAL_DESTRUCTOR - -#endif // BOOST_OB_TYPE_TRAITS_HPP - - - - - diff --git a/include/boost/detail/type_traits.hpp b/include/boost/detail/type_traits.hpp deleted file mode 100644 index 76954c6..0000000 --- a/include/boost/detail/type_traits.hpp +++ /dev/null @@ -1,675 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Permission to copy, use, modify, sell and -// distribute this software is granted provided this copyright notice appears -// in all copies. This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. - -// See http://www.boost.org for most recent version including documentation. -// -// misc traits classes that operate on or describe a type. -// see libs/utility/type_traits.htm - -/* Release notes: - 31 Jan 2001: - Fixed is_convertible warning for g++. Added specialization of - is_array to handle the const array case. Added parenthesis are - body of BOOST_IS_CLASS to prevent macro mistakes. (Jeremy Siek) - 21 Jan 2001: - Fixed tests for long long to detect its presence on GCC (David Abrahams) - 03 Oct 2000: - Added gcc specific fixes for memeber pointers (JM). - 31st July 2000: - Added is_convertable, alignment_of, modified is_empty. - 23rd July 2000: - Added Borland specific fixes for reference types (Steve Cleary). -*/ - -// -// partial copyright for is_convertible: -// -// Copyright (C) 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright (C) 1999, 2000 Jaakko J„rvi (jaakko.jarvi@cs.utu.fi) -// -// Permission to copy and use this software is granted, -// provided this copyright notice appears in all copies. -// Permission to modify the code and to distribute modified code is granted, -// provided this copyright notice appears in all copies, and a notice -// that the code was modified is included with the copyright notice. -// -// This software is provided "as is" without express or implied warranty, -// and with no claim as to its suitability for any purpose. - - -#ifndef BOOST_DETAIL_TYPE_TRAITS_HPP -#define BOOST_DETAIL_TYPE_TRAITS_HPP - -#ifndef BOOST_TYPE_TRAITS_HPP -#error Internal header file: This header must be included by only. -#endif - -#include -#include - -// -// Helper macros for builitin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: -// -// (these should return false if T is cv-qualified; the type traits that use these -// will strip cv-qualification if necessary before passing T) -// BOOST_IS_CLASS(T) should evaluate to true if T is a class or struct type -// BOOST_IS_ENUM(T) should evaluate to true if T is an enumerator type -// BOOST_IS_UNION(T) should evaluate to true if T is a union type -// BOOST_IS_POD(T) should evaluate to true if T is a POD type -// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty struct or union -// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect -// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy -// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy -// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect - -#define BOOST_IS_CLASS(T) (!is_union::value && \ - !is_scalar::value && \ - !is_array::value && \ - !is_reference::value && \ - !is_void::value) -#define BOOST_IS_ENUM(T) false -#define BOOST_IS_UNION(T) false -#define BOOST_IS_POD(T) false -#define BOOST_IS_EMPTY(T) false -#define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) false -#define BOOST_HAS_TRIVIAL_COPY(T) false -#define BOOST_HAS_TRIVIAL_ASSIGN(T) false -#define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) false - - -/**************************************************************************/ - -namespace boost{ -// -// start with fundamental type operations: - -namespace details { -// -// implementation helper: -// -template -struct cv_traits_imp{}; - -template -struct cv_traits_imp -{ - static const bool is_const = false; - static const bool is_volatile = false; - typedef T non_const_type; - typedef T non_volatile_type; - typedef T unqualified_type; - static const char* what() { return ""; } -}; - -template -struct cv_traits_imp -{ - static const bool is_const = true; - static const bool is_volatile = false; - typedef T non_const_type; - typedef const T non_volatile_type; - typedef T unqualified_type; - static const char* what() { return "const"; } -}; - -template -struct cv_traits_imp -{ - static const bool is_const = false; - static const bool is_volatile = true; - typedef volatile T non_const_type; - typedef T non_volatile_type; - typedef T unqualified_type; - static const char* what() { return "volatile"; } -}; - -template -struct cv_traits_imp -{ - static const bool is_const = true; - static const bool is_volatile = true; - typedef volatile T non_const_type; - typedef const T non_volatile_type; - typedef T unqualified_type; - static const char* what() { return "const volatile"; } -}; - -} // namespace details - -// * convert a type T to a non-volatile type - remove_volatile -template -struct remove_volatile -{ - typedef typename details::cv_traits_imp::non_volatile_type type; -}; -template struct remove_volatile{ typedef T& type; }; - -// * convert a type T to non-const type - remove_const -template -struct remove_const -{ - typedef typename details::cv_traits_imp::non_const_type type; -}; -template struct remove_const{ typedef T& type; }; - -// convert a type T to a non-cv-qualified type - remove_cv -template -struct remove_cv -{ - typedef typename details::cv_traits_imp::unqualified_type type; -}; -template struct remove_cv{ typedef T& type; }; - -// * convert a type T to a non-reference if it is one - remove_reference -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x550)) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -#endif -// * convert a type T to a reference unless it is one - add_reference -template struct add_reference{ typedef T& type; }; -template struct add_reference{ typedef T& type; }; - -// * convert an array type to underlying non-array type - remove_bounds -template struct remove_bounds{ typedef T type; }; -template struct remove_bounds{ typedef T type; }; - -/**************************************************************************/ -// -// fundamental property classes: - -//* is a type T declared const - is_const -template -struct is_const -{ - static const bool value = details::cv_traits_imp::is_const; -}; - -//* is a type T declared volatile - is_volatile -template -struct is_volatile -{ - static const bool value = details::cv_traits_imp::is_volatile; -}; - -//* is a type T the same as type U - is_same -template struct is_same { static const bool value = false; }; -template struct is_same { static const bool value = true; }; - -//* is a type T void - is_void -template struct is_void{ static const bool value = false; }; -template <> struct is_void{ static const bool value = true; }; - -//* is a type T an unsigned integral type described in the standard (3.9.1p3) -template struct is_standard_unsigned_integral -{ static const bool value = false; }; -template <> struct is_standard_unsigned_integral -{ static const bool value = true; }; -template <> struct is_standard_unsigned_integral -{ static const bool value = true; }; -template <> struct is_standard_unsigned_integral -{ static const bool value = true; }; -template <> struct is_standard_unsigned_integral -{ static const bool value = true; }; - -//* is a type T a signed integral type described in the standard (3.9.1p2) -template struct is_standard_signed_integral -{ static const bool value = false; }; -template <> struct is_standard_signed_integral -{ static const bool value = true; }; -template <> struct is_standard_signed_integral -{ static const bool value = true; }; -template <> struct is_standard_signed_integral -{ static const bool value = true; }; -template <> struct is_standard_signed_integral -{ static const bool value = true; }; - -//* is a type T an integral type described in the standard (3.9.1p7) -template struct is_standard_integral -{ static const bool value = is_standard_unsigned_integral::value || - is_standard_signed_integral::value; }; -template <> struct is_standard_integral -{ static const bool value = true; }; -template <> struct is_standard_integral -{ static const bool value = true; }; -template <> struct is_standard_integral -{ static const bool value = true; }; - -//* is a type T a floating-point type described in the standard (3.9.1p8) -template struct is_standard_float -{ static const bool value = false; }; -template <> struct is_standard_float -{ static const bool value = true; }; -template <> struct is_standard_float -{ static const bool value = true; }; -template <> struct is_standard_float -{ static const bool value = true; }; - -//* is a type T an arithmetic type described in the standard (3.9.1p8) -template struct is_standard_arithmetic -{ static const bool value = is_standard_integral::value || is_standard_float::value; }; - -//* is a type T a fundamental type described in the standard (3.9.1) -template struct is_standard_fundamental -{ static const bool value = is_standard_arithmetic::value || is_void::value; }; - -//* is a type T an unsigned integral type provided by a compiler extension -// specialise for compiler defined extentions: -template struct is_extension_unsigned_integral -{ static const bool value = false; }; - -//* is a type T a signed integral type provided by a compiler extension -// specialise for compiler defined extentions: -template struct is_extension_signed_integral -{ static const bool value = false; }; - -#if defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) -template <> struct is_extension_unsigned_integral -{ static const bool value = true; }; -template <> struct is_extension_signed_integral -{ static const bool value = true; }; -#endif -#if defined(__BORLANDC__) || defined(_MSC_VER) && !defined(__MWERKS__) -template <> struct is_extension_unsigned_integral -{ static const bool value = true; }; -template <> struct is_extension_signed_integral<__int64> -{ static const bool value = true; }; -#endif - -//* is a type T an integral type provided by a compiler extension -template struct is_extension_integral -{ static const bool value = is_extension_signed_integral::value || - is_extension_unsigned_integral::value; }; - -//* is a type T a floating-point type provided by a compiler extension -template struct is_extension_float -{ static const bool value = false; }; - -//* is a type T an arithmetic type provided by a compiler extension -template struct is_extension_arithmetic -{ static const bool value = is_extension_integral::value || is_extension_float::value; }; - -//* is a type T a fundamental type provided by a compiler extension -template struct is_extension_fundamental -{ static const bool value = is_extension_arithmetic::value || is_void::value; }; - -//* is a type T an unsigned integral type provided by the compiler or standard -template struct is_unsigned_integral -{ static const bool value = is_standard_unsigned_integral::value || is_extension_unsigned_integral::value; }; - -//* is a type T a signed integral type provided by the compiler or standard -template struct is_signed_integral -{ static const bool value = is_standard_signed_integral::value || is_extension_signed_integral::value; }; - -//* is a type T an integral type provided by the compiler or standard -template struct is_integral -{ static const bool value = is_standard_integral::value || is_extension_integral::value; }; - -//* is a type T a floating-point type provided by the compiler or standard -template struct is_float -{ static const bool value = is_standard_float::value || is_extension_float::value; }; - -//* is a type T an arithmetic type provided by the compiler or standard -template struct is_arithmetic -{ static const bool value = is_standard_arithmetic::value || is_extension_arithmetic::value; }; - -//* is a type T a fundamental type provided by the compiler or standard -template struct is_fundamental -{ static const bool value = is_standard_fundamental::value || is_extension_fundamental::value; }; - -//* is a type T an array - is_array -template struct is_array -{ static const bool value = false; }; -template struct is_array -{ static const bool value = true; }; -template struct is_array -{ static const bool value = true; }; - -//* is a type T a pointer type (including function pointers) - is_pointer -template struct is_pointer { static const bool value = false; }; -template struct is_pointer { static const bool value = true; }; -#ifdef __GNUC__ -// gcc workarounds: these partial specialisations should not be needed: -template struct is_pointer -{ static const bool value = false; }; -template struct is_pointer -{ static const bool value = false; }; -template struct is_pointer -{ static const bool value = false; }; -template struct is_pointer -{ static const bool value = false; }; -#endif - -//* is a type T a reference type - is_reference -template struct is_reference { static const bool value = false; }; -template struct is_reference { static const bool value = true; }; -#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template struct is_reference { static const bool value = true; }; -template struct is_reference { static const bool value = true; }; -template struct is_reference { static const bool value = true; }; -#endif - -//*? is a type T a union type - is_union -template struct is_union -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = BOOST_IS_UNION(cvt); -}; - -//*? is a type T an enum - is_enum -template struct is_enum -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = BOOST_IS_ENUM(cvt); -}; - -//* is a type T a member function pointer - is_member_pointer -template struct is_member_pointer -{ static const bool value = false; }; -template struct is_member_pointer -{ static const bool value = true; }; -#ifdef __GNUC__ -// gcc workaround (JM 02 Oct 2000) -template struct is_member_pointer -{ static const bool value = true; }; -template struct is_member_pointer -{ static const bool value = true; }; -template struct is_member_pointer -{ static const bool value = true; }; -#endif - -//* is type T an object type (allows cv-qual) -template struct is_object -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = !::boost::is_reference::value - && !::boost::is_void::value; -}; - -//* is type T a standard scalar type (allows cv-qual) -template struct is_standard_scalar -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_standard_arithmetic::value - || is_enum::value - || is_pointer::value - || is_member_pointer::value; -}; - -//* is type T an extension scalar type (allows cv-qual) -template struct is_extension_scalar -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_extension_arithmetic::value - || is_enum::value - || is_pointer::value - || is_member_pointer::value; -}; - -//* is type T a builtin scalar type (allows cv-qual) -template struct is_scalar -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_arithmetic::value - || is_enum::value - || is_pointer::value - || is_member_pointer::value; -}; - -//*? is a type T a class type (class/struct) - is_class -template struct is_class -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = BOOST_IS_CLASS(cvt); -}; - -//*? is a type T a compound type -template struct is_compound -{ static const bool value = is_array::value || is_pointer::value - || is_reference::value || is_class::value || is_union::value - || is_enum::value || is_member_pointer::value; }; - -//*? is type T a POD type (allows cv-qual) -template struct is_POD -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_scalar::value || BOOST_IS_POD(cvt); -}; -template struct is_POD -{ static const bool value = is_POD::value; }; - -// -// Thanks to Andrei Alexandrescu for the original version of this -// conversion class! -// -// is one type convertable to another? -template -struct is_convertible -{ -private: - typedef char (&no)[1]; - typedef char (&yes)[2]; - // The workarounds for Borland and GNU C++ break the EDG C++ frontend, - // so we only use them for those compilers. -#if defined(__GNUC__) - struct accept_any { - template accept_any(const T&); - }; - template - struct checker - { - // Need two arguments in the check functions to bias resolution - // towards the "yes" in the case when the From type has an implicit - // conversion operator defined for the To type, which would - // otherwise be an ambiguous situation. - static no check(accept_any, accept_any); - static yes check(T, From); - }; - static From from; -public: - static const bool value = - sizeof( checker::check(from, from) ) == sizeof(yes); -#elif defined(__BORLANDC__) - template - struct checker - { - static no check(...); - static yes check(T); - }; - static From from; -public: - static const bool value = sizeof( checker::check(from) ) == sizeof(yes); -# else // not __BORLANDC__ or __GNUC__ - static no check(...); - static yes check(To); - static From from; -public: - static const bool value = sizeof( check(from) ) == sizeof(yes); -# endif - void foo(); // avoid warning about all members being private -}; - -template -struct is_convertible -{ - static const bool value = false; -}; -template -struct is_convertible -{ - static const bool value = false; -}; -template <> -struct is_convertible -{ - static const bool value = true; -}; -// -// get the alignment of some arbitrary type: -namespace detail{ -// hack for MWCW: -template -class alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; -} -template -class alignment_of -{ -public: - static const unsigned value = sizeof(detail::alignment_of_hack) - sizeof(T); -}; -// -// references have to be treated specially, assume -// that a reference is just a special pointer: -template -class alignment_of -{ -public: - static const unsigned value = alignment_of::value; -}; - -// -// JM 7Jan2000 -// -namespace detail{ -template -struct empty_helper{ static const bool value = false; }; - -template -struct empty_helper_t1 : public T -{ -#ifdef __MWERKS__ - empty_helper_t1(); // hh compiler bug workaround -#endif - int i[256]; -}; -struct empty_helper_t2 { int i[256]; }; - -template -struct empty_helper -{ - static const bool value = (sizeof(empty_helper_t1) == sizeof(empty_helper_t2)); -}; -} - -//*? is type T an empty composite type (allows cv-qual) -template struct is_empty -{ -private: - typedef typename remove_cv::type cvt; -public: -#ifdef __GNUC__ - // is_convertible gives a warning for g++ - static const bool value = ::boost::detail::empty_helper::value , false>::value - || BOOST_IS_EMPTY(cvt); - -#else - static const bool value = ::boost::detail::empty_helper::value , is_convertible::value>::value - || BOOST_IS_EMPTY(cvt); -#endif -}; - -//*? T has trivial default constructor (allows cv-qual) -template struct has_trivial_constructor -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_POD::value - || BOOST_HAS_TRIVIAL_CONSTRUCTOR(cvt); -}; - -//*? T has trivial copy constructor (allows cv-qual) -template struct has_trivial_copy -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_POD::value - || BOOST_HAS_TRIVIAL_COPY(cvt); -}; - -//*? T has trivial assignment operator (allows cv-qual) -template -struct has_trivial_assign -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_POD::value - || BOOST_HAS_TRIVIAL_ASSIGN(cvt); -}; - -//*? T has trivial destructor (allows cv-qual) -template -struct has_trivial_destructor -{ -private: - typedef typename remove_cv::type cvt; -public: - static const bool value = is_POD::value - || BOOST_HAS_TRIVIAL_DESTRUCTOR(cvt); -}; - -} // namespace boost - -/**************************************************************************/ - -// -// undefine helper macro's: -// -#undef BOOST_IS_CLASS -#undef BOOST_IS_ENUM -#undef BOOST_IS_UNION -#undef BOOST_IS_POD -#undef BOOST_IS_EMPTY -#undef BOOST_HAS_TRIVIAL_CONSTRUCTOR -#undef BOOST_HAS_TRIVIAL_COPY -#undef BOOST_HAS_TRIVIAL_ASSIGN -#undef BOOST_HAS_TRIVIAL_DESTRUCTOR - -#endif // BOOST_DETAIL_TYPE_TRAITS_HPP - - - - - - - -