summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-11-24 20:33:19 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-11-24 20:35:17 (GMT)
commit332d60c56dfaa11fdd135088279d15cd5983b3d4 (patch)
treedd77717a4e1732da929d5ff8a0471fa3f005e201 /3rdParty/Boost/src/boost/concept
parent90c44a10fec26d2a0935b2d62e82b6a5be028373 (diff)
downloadswift-332d60c56dfaa11fdd135088279d15cd5983b3d4.zip
swift-332d60c56dfaa11fdd135088279d15cd5983b3d4.tar.bz2
Upgraded Boost to 1.45.0.
Diffstat (limited to '3rdParty/Boost/src/boost/concept')
-rw-r--r--3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp16
-rw-r--r--3rdParty/Boost/src/boost/concept/detail/borland.hpp5
-rw-r--r--3rdParty/Boost/src/boost/concept/detail/general.hpp21
-rw-r--r--3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp6
-rw-r--r--3rdParty/Boost/src/boost/concept/detail/msvc.hpp32
-rw-r--r--3rdParty/Boost/src/boost/concept/usage.hpp9
6 files changed, 70 insertions, 19 deletions
diff --git a/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp b/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp
new file mode 100644
index 0000000..88d5921
--- /dev/null
+++ b/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp
@@ -0,0 +1,16 @@
+// Copyright David Abrahams 2009. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
+# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
+
+namespace boost
+{
+ namespace concepts {}
+
+# if !defined(BOOST_NO_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD)
+ namespace concept = concepts;
+# endif
+} // namespace boost::concept
+
+#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
diff --git a/3rdParty/Boost/src/boost/concept/detail/borland.hpp b/3rdParty/Boost/src/boost/concept/detail/borland.hpp
index 59fec55..300d5d4 100644
--- a/3rdParty/Boost/src/boost/concept/detail/borland.hpp
+++ b/3rdParty/Boost/src/boost/concept/detail/borland.hpp
@@ -5,8 +5,9 @@
# define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
# include <boost/preprocessor/cat.hpp>
+# include <boost/concept/detail/backward_compatibility.hpp>
-namespace boost { namespace concept {
+namespace boost { namespace concepts {
template <class ModelFnPtr>
struct require;
@@ -21,7 +22,7 @@ struct require<void(*)(Model)>
enum \
{ \
BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- boost::concept::require<ModelFnPtr>::instantiate \
+ boost::concepts::require<ModelFnPtr>::instantiate \
}
}} // namespace boost::concept
diff --git a/3rdParty/Boost/src/boost/concept/detail/general.hpp b/3rdParty/Boost/src/boost/concept/detail/general.hpp
index f36f9c4..e3014c1 100644
--- a/3rdParty/Boost/src/boost/concept/detail/general.hpp
+++ b/3rdParty/Boost/src/boost/concept/detail/general.hpp
@@ -5,6 +5,7 @@
# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
# include <boost/preprocessor/cat.hpp>
+# include <boost/concept/detail/backward_compatibility.hpp>
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept/detail/has_constraints.hpp>
@@ -13,7 +14,7 @@
// This implementation works on Comeau and GCC, all the way back to
// 2.95
-namespace boost { namespace concept {
+namespace boost { namespace concepts {
template <class ModelFn>
struct requirement_;
@@ -29,6 +30,14 @@ struct requirement
static void failed() { ((Model*)0)->~Model(); }
};
+struct failed {};
+
+template <class Model>
+struct requirement<failed ************ Model::************>
+{
+ static void failed() { ((Model*)0)->~Model(); }
+};
+
# ifdef BOOST_OLD_CONCEPT_SUPPORT
template <class Model>
@@ -40,9 +49,9 @@ struct constraint
template <class Model>
struct requirement_<void(*)(Model)>
: mpl::if_<
- concept::not_satisfied<Model>
+ concepts::not_satisfied<Model>
, constraint<Model>
- , requirement<Model>
+ , requirement<failed ************ Model::************>
>::type
{};
@@ -51,14 +60,14 @@ struct requirement_<void(*)(Model)>
// For GCC-2.x, these can't have exactly the same name
template <class Model>
struct requirement_<void(*)(Model)>
- : requirement<Model>
+ : requirement<failed ************ Model::************>
{};
# endif
# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
- typedef ::boost::concept::detail::instantiate< \
- &::boost::concept::requirement_<ModelFnPtr>::failed> \
+ typedef ::boost::concepts::detail::instantiate< \
+ &::boost::concepts::requirement_<ModelFnPtr>::failed> \
BOOST_PP_CAT(boost_concept_check,__LINE__)
}}
diff --git a/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp b/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp
index 9191181..a309db3 100644
--- a/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp
+++ b/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp
@@ -6,7 +6,9 @@
# include <boost/mpl/bool.hpp>
# include <boost/detail/workaround.hpp>
-namespace boost { namespace concept {
+# include <boost/concept/detail/backward_compatibility.hpp>
+
+namespace boost { namespace concepts {
namespace detail
{
@@ -43,6 +45,6 @@ struct not_satisfied
typedef mpl::bool_<value> type;
};
-}} // namespace boost::concept::detail
+}} // namespace boost::concepts::detail
#endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
diff --git a/3rdParty/Boost/src/boost/concept/detail/msvc.hpp b/3rdParty/Boost/src/boost/concept/detail/msvc.hpp
index 3aadb79..9fbd250 100644
--- a/3rdParty/Boost/src/boost/concept/detail/msvc.hpp
+++ b/3rdParty/Boost/src/boost/concept/detail/msvc.hpp
@@ -5,6 +5,7 @@
# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
# include <boost/preprocessor/cat.hpp>
+# include <boost/concept/detail/backward_compatibility.hpp>
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept/detail/has_constraints.hpp>
@@ -12,7 +13,8 @@
# endif
-namespace boost { namespace concept {
+namespace boost { namespace concepts {
+
template <class Model>
struct check
@@ -22,7 +24,19 @@ struct check
x->~Model();
}
};
-
+
+# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
+struct failed {};
+template <class Model>
+struct check<failed ************ Model::************>
+{
+ virtual void failed(Model* x)
+ {
+ x->~Model();
+ }
+};
+# endif
+
# ifdef BOOST_OLD_CONCEPT_SUPPORT
namespace detail
@@ -38,7 +52,11 @@ struct require
: mpl::if_c<
not_satisfied<Model>::value
, detail::constraint
+# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
, check<Model>
+# else
+ , check<failed ************ Model::************>
+# endif
>::type
{};
@@ -46,7 +64,11 @@ struct require
template <class Model>
struct require
- : check<Model>
+# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
+ : check<Model>
+# else
+ : check<failed ************ Model::************>
+# endif
{};
# endif
@@ -70,7 +92,7 @@ struct require<void(*)(Model)>
enum \
{ \
BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- sizeof(::boost::concept::require<ModelFnPtr>) \
+ sizeof(::boost::concepts::require<ModelFnPtr>) \
}
# else // Not vc-7.1
@@ -83,7 +105,7 @@ require_(void(*)(Model));
enum \
{ \
BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- sizeof(::boost::concept::require_((ModelFnPtr)0)) \
+ sizeof(::boost::concepts::require_((ModelFnPtr)0)) \
}
# endif
diff --git a/3rdParty/Boost/src/boost/concept/usage.hpp b/3rdParty/Boost/src/boost/concept/usage.hpp
index 9af8ca3..21547c3 100644
--- a/3rdParty/Boost/src/boost/concept/usage.hpp
+++ b/3rdParty/Boost/src/boost/concept/usage.hpp
@@ -6,8 +6,9 @@
# include <boost/concept/assert.hpp>
# include <boost/detail/workaround.hpp>
+# include <boost/concept/detail/backward_compatibility.hpp>
-namespace boost { namespace concept {
+namespace boost { namespace concepts {
# if BOOST_WORKAROUND(__GNUC__, == 2)
@@ -25,19 +26,19 @@ struct usage_requirements
# define BOOST_CONCEPT_USAGE(model) \
model(); /* at least 2.96 and 3.4.3 both need this :( */ \
- BOOST_CONCEPT_ASSERT((boost::concept::usage_requirements<model>)); \
+ BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
~model()
# else
# define BOOST_CONCEPT_USAGE(model) \
- BOOST_CONCEPT_ASSERT((boost::concept::usage_requirements<model>)); \
+ BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
~model()
# endif
# endif
-}} // namespace boost::concept
+}} // namespace boost::concepts
#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP