summaryrefslogtreecommitdiff
path: root/boost/tr1
diff options
context:
space:
mode:
authorChanho Park <chanho61.park@samsung.com>2014-12-11 18:55:56 +0900
committerChanho Park <chanho61.park@samsung.com>2014-12-11 18:55:56 +0900
commit08c1e93fa36a49f49325a07fe91ff92c964c2b6c (patch)
tree7a7053ceb8874b28ec4b868d4c49b500008a102e /boost/tr1
parentbb4dd8289b351fae6b55e303f189127a394a1edd (diff)
downloadboost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.gz
boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.bz2
boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.zip
Imported Upstream version 1.57.0upstream/1.57.0
Diffstat (limited to 'boost/tr1')
-rw-r--r--boost/tr1/array.hpp2
-rw-r--r--boost/tr1/complex.hpp2
-rw-r--r--boost/tr1/detail/config.hpp8
-rw-r--r--boost/tr1/detail/config_all.hpp21
-rw-r--r--boost/tr1/functional.hpp4
-rw-r--r--boost/tr1/memory.hpp14
-rw-r--r--boost/tr1/utility.hpp2
7 files changed, 27 insertions, 26 deletions
diff --git a/boost/tr1/array.hpp b/boost/tr1/array.hpp
index 131d912775..1cd4534ecf 100644
--- a/boost/tr1/array.hpp
+++ b/boost/tr1/array.hpp
@@ -39,7 +39,6 @@ using ::boost::swap;
// [6.2.2.5] Tuple interface to class template array
template <class T> struct tuple_size; // forward declaration
template <int I, class T> struct tuple_element; // forward declaration
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
template <class T, size_t N>
struct tuple_size< ::boost::array<T, N> >
: public ::boost::integral_constant< ::std::size_t, N>{};
@@ -54,7 +53,6 @@ struct tuple_element<I, ::boost::array<T, N> >
#endif
typedef T type;
};
-#endif
template <int I, class T, size_t N>
T& get( ::boost::array<T, N>& a)
{
diff --git a/boost/tr1/complex.hpp b/boost/tr1/complex.hpp
index 71f4434282..16f7c5da97 100644
--- a/boost/tr1/complex.hpp
+++ b/boost/tr1/complex.hpp
@@ -117,7 +117,7 @@ inline std::complex<float> conj(const float& t)
return ct;
}
-#if !BOOST_WORKAROUND(__BORLANDC__, <=0x570) && !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
+#if !BOOST_WORKAROUND(__BORLANDC__, <=0x570)
inline complex<double> polar(const char& rho, const char& theta = 0)
{ return ::std::polar(static_cast<double>(rho), static_cast<double>(theta)); }
inline complex<double> polar(const unsigned char& rho, const unsigned char& theta = 0)
diff --git a/boost/tr1/detail/config.hpp b/boost/tr1/detail/config.hpp
index 1b95148bb0..42069dd257 100644
--- a/boost/tr1/detail/config.hpp
+++ b/boost/tr1/detail/config.hpp
@@ -9,6 +9,7 @@
#include <cstddef>
#if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \
+ || (!defined(__FreeBSD__) && defined(__GNUC__)) \
|| (!defined(_AIX) && defined(__IBMCPP__) && (__IBMCPP__ >= 800))
// Disable use of #include_next on Linux as typically we are installed in a
// directory that is searched *after* the std lib include path.
@@ -48,7 +49,7 @@
#define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
-#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
+#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600))
# define BOOST_TR1_USE_OLD_TUPLE
#endif
@@ -137,7 +138,7 @@
// this here, in addition the feature pack for VC9
// provides a more or less full TR1 implementation:
//
-# if defined(_HAS_TR1) && (_HAS_TR1 + 0)
+# if (defined(_HAS_TR1) && (_HAS_TR1 + 0)) || (_CPPLIB_VER >= 540)
# define BOOST_HAS_TR1_ARRAY
# define BOOST_HAS_TR1_REFERENCE_WRAPPER
# define BOOST_HAS_TR1_RESULT_OF
@@ -159,6 +160,9 @@
# if _MSC_VER >= 1600
# define BOOST_HAS_CPP_0X
# endif
+# if _MSC_VER >= 1700
+# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
+# endif
#endif
#include <boost/config.hpp>
diff --git a/boost/tr1/detail/config_all.hpp b/boost/tr1/detail/config_all.hpp
index ecf07b68ae..bdb0075322 100644
--- a/boost/tr1/detail/config_all.hpp
+++ b/boost/tr1/detail/config_all.hpp
@@ -53,6 +53,10 @@
# endif
# endif
+#ifdef __ANDROID__
+# define BOOST_TR1_GCC_INCLUDE_PATH include
+#endif
+
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && !defined(__BORLANDC__)
# ifdef __SUNPRO_CC
@@ -82,13 +86,16 @@
# elif defined(__clang__)
# define BOOST_TR1_STD_HEADER(name) <../include/name>
-# elif defined(__GNUC__) && __GNUC__ >= 3
+# elif defined(_CRAYC)
+# define BOOST_TR1_STD_HEADER(name) <../include/name>
+
+# elif defined(__GNUC__)
# if defined(BOOST_TR1_GCC_INCLUDE_PATH)
# define BOOST_TR1_STD_HEADER(name) <../BOOST_TR1_GCC_INCLUDE_PATH/name>
-# elif ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
-# define BOOST_TR1_STD_HEADER(name) <../g++-v3/name>
+# elif (defined(__FreeBSD__))
+# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name>
# else
-# if ( ((__GNUC__ == 3 ) && (__GNUC_MINOR__ >= 3)) && (defined(__APPLE_CC__) || defined(__CYGWIN__)))
+# if ( (__GNUC__ == 3) && (defined(__APPLE_CC__) || defined(__CYGWIN__)))
# define BOOST_TR1_STD_HEADER(name) <../c++/name>
# elif ((__GLIBCXX__ == 20050421) && defined(__APPLE_CC__))
// Some Darwin tools fix libstdc++ at 4.0.0 irrespective of the actual
@@ -107,7 +114,7 @@
# endif
# if !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT) && !defined(__ICC) \
- && (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__))
+ && (defined(__FreeBSD__) || defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__))
// Disable use of #include_next on Linux as typically we are installed in a directory that is searched
// *after* the std lib include path:
# define BOOST_TR1_DISABLE_INCLUDE_NEXT
@@ -149,10 +156,6 @@
# define BOOST_TR1_NO_CONFIG_ALL_RECURSION
# endif
# include_next <utility>
-# if (__GNUC__ < 3)
-# include_next <algorithm>
-# include_next <iterator>
-# endif
# ifdef BOOST_TR1_NO_CONFIG_ALL_RECURSION
# undef BOOST_TR1_NO_CONFIG_ALL_RECURSION
# undef BOOST_TR1_NO_RECURSION
diff --git a/boost/tr1/functional.hpp b/boost/tr1/functional.hpp
index 8c97fa892a..0862f4ef98 100644
--- a/boost/tr1/functional.hpp
+++ b/boost/tr1/functional.hpp
@@ -37,8 +37,7 @@ namespace std{ namespace tr1{
#endif // BOOST_HAS_TR1_REFERENCE_WRAPPER
#if !defined(BOOST_HAS_TR1_RESULT_OF)\
- && !defined(BOOST_NO_SFINAE) && \
- !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+ && !defined(BOOST_NO_SFINAE)
//
// we can only actually include result_of.hpp if the compiler
@@ -103,7 +102,6 @@ namespace std{ namespace tr1{
#include <boost/detail/workaround.hpp>
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
- && !BOOST_WORKAROUND(BOOST_MSVC, < 1310) \
&& !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
namespace std{ namespace tr1{
diff --git a/boost/tr1/memory.hpp b/boost/tr1/memory.hpp
index 81d9d45bb1..169087746c 100644
--- a/boost/tr1/memory.hpp
+++ b/boost/tr1/memory.hpp
@@ -13,7 +13,7 @@
//
// This header can get included by boost/shared_ptr.hpp which leads
-// to cyclic dependencies, the workaround is to forward declare all
+// to cyclic dependencies, the workaround is to forward declare all
// the boost components, and then include the actual headers afterwards.
// This is fragile, but seems to work, and doesn't require modification
// of boost/shared_ptr.hpp.
@@ -23,12 +23,12 @@ namespace boost{
class bad_weak_ptr;
template<class T> class weak_ptr;
template<class T> class shared_ptr;
-template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b);
-template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b);
-template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r);
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r);
-template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r);
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p);
+template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b) BOOST_NOEXCEPT;
+template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b) BOOST_NOEXCEPT;
+template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const & r) BOOST_NOEXCEPT;
+template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const & r) BOOST_NOEXCEPT;
+template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const & r) BOOST_NOEXCEPT;
+template<class D, class T> D * get_deleter(shared_ptr<T> const & p) BOOST_NOEXCEPT;
template<class T> class enable_shared_from_this;
namespace detail{
diff --git a/boost/tr1/utility.hpp b/boost/tr1/utility.hpp
index 2519ec46f6..0310b5ce41 100644
--- a/boost/tr1/utility.hpp
+++ b/boost/tr1/utility.hpp
@@ -31,7 +31,6 @@ namespace std{ namespace tr1{
template <class T> struct tuple_size; // forward declaration
template < int I, class T> struct tuple_element; // forward declaration
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
template <class T1, class T2>
struct tuple_size< ::std::pair<T1, T2> >
: public ::boost::integral_constant< ::std::size_t, 2>
@@ -49,7 +48,6 @@ struct tuple_element<1, std::pair<T1, T2> >
{
typedef typename std::pair<T1, T2>::second_type type;
};
-#endif
namespace tuple_detail{
template <int I, class T1, class T2>