From e675469610a30e3333bdd624edbfab4d3403f312 Mon Sep 17 00:00:00 2001
From: nobody
Date: Tue, 21 Mar 2006 02:26:31 +0000
Subject: [PATCH] This commit was manufactured by cvs2svn to create branch
'RC_1_34_0'.
[SVN r33417]
---
development/alignment_test.cpp | 44 -
development/arithmetic_traits_test.cpp | 197 -
development/composite_traits_test.cpp | 116 -
development/copy_example.cpp | 240 -
development/cs-linux.html | 113 -
development/cs-win32.html | 162 -
development/cv_traits_test.cpp | 50 -
development/fill_example.cpp | 191 -
development/include/boost/call_traits.hpp | 23 -
development/include/boost/config.hpp | 427 --
.../include/boost/detail/call_traits.hpp | 138 -
.../include/boost/detail/ob_call_traits.hpp | 125 -
development/include/boost/smart_ptr.hpp | 379 --
development/include/boost/timer.hpp | 57 -
development/include/boost/type_traits.hpp | 42 -
.../boost/type_traits/alignment_traits.hpp | 82 -
.../boost/type_traits/arithmetic_traits.hpp | 262 -
.../boost/type_traits/composite_traits.hpp | 357 --
.../boost/type_traits/conversion_traits.hpp | 224 -
.../include/boost/type_traits/cv_traits.hpp | 214 -
development/include/boost/type_traits/fwd.hpp | 140 -
development/include/boost/type_traits/ice.hpp | 76 -
.../boost/type_traits/object_traits.hpp | 318 -
.../include/boost/type_traits/same_traits.hpp | 90 -
.../boost/type_traits/transform_traits.hpp | 187 -
.../type_traits/transform_traits_spec.hpp | 74 -
.../boost/type_traits/type_traits_test.hpp | 361 --
development/include/boost/utility.hpp | 96 -
development/index.htm | 1202 ----
development/is_convertible_test.cpp | 72 -
development/is_same_test.cpp | 42 -
development/iter_swap_example.cpp | 110 -
development/linux-regression.out.txt | 580 --
development/object_type_traits_test.cpp | 191 -
development/regress.cfg | 14 -
development/regression.out.txt | 5407 -----------------
development/transform_traits_test.cpp | 395 --
development/trivial_destructor_example.cpp | 166 -
include/boost/detail/ob_type_traits.hpp | 609 --
include/boost/detail/type_traits.hpp | 675 --
40 files changed, 14248 deletions(-)
delete mode 100644 development/alignment_test.cpp
delete mode 100644 development/arithmetic_traits_test.cpp
delete mode 100644 development/composite_traits_test.cpp
delete mode 100644 development/copy_example.cpp
delete mode 100644 development/cs-linux.html
delete mode 100644 development/cs-win32.html
delete mode 100644 development/cv_traits_test.cpp
delete mode 100644 development/fill_example.cpp
delete mode 100644 development/include/boost/call_traits.hpp
delete mode 100644 development/include/boost/config.hpp
delete mode 100644 development/include/boost/detail/call_traits.hpp
delete mode 100644 development/include/boost/detail/ob_call_traits.hpp
delete mode 100644 development/include/boost/smart_ptr.hpp
delete mode 100644 development/include/boost/timer.hpp
delete mode 100644 development/include/boost/type_traits.hpp
delete mode 100644 development/include/boost/type_traits/alignment_traits.hpp
delete mode 100644 development/include/boost/type_traits/arithmetic_traits.hpp
delete mode 100644 development/include/boost/type_traits/composite_traits.hpp
delete mode 100644 development/include/boost/type_traits/conversion_traits.hpp
delete mode 100644 development/include/boost/type_traits/cv_traits.hpp
delete mode 100644 development/include/boost/type_traits/fwd.hpp
delete mode 100644 development/include/boost/type_traits/ice.hpp
delete mode 100644 development/include/boost/type_traits/object_traits.hpp
delete mode 100644 development/include/boost/type_traits/same_traits.hpp
delete mode 100644 development/include/boost/type_traits/transform_traits.hpp
delete mode 100644 development/include/boost/type_traits/transform_traits_spec.hpp
delete mode 100644 development/include/boost/type_traits/type_traits_test.hpp
delete mode 100644 development/include/boost/utility.hpp
delete mode 100644 development/index.htm
delete mode 100644 development/is_convertible_test.cpp
delete mode 100644 development/is_same_test.cpp
delete mode 100644 development/iter_swap_example.cpp
delete mode 100644 development/linux-regression.out.txt
delete mode 100644 development/object_type_traits_test.cpp
delete mode 100644 development/regress.cfg
delete mode 100644 development/regression.out.txt
delete mode 100644 development/transform_traits_test.cpp
delete mode 100644 development/trivial_destructor_example.cpp
delete mode 100644 include/boost/detail/ob_type_traits.hpp
delete mode 100644 include/boost/detail/type_traits.hpp
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
-
-
-
-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
-
-
-
-
-
-
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