summaryrefslogtreecommitdiff
path: root/boost/type_erasure
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:45:20 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:46:37 +0900
commit733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch)
treea5b214744b256f07e1dc2bd7273035a7808c659f /boost/type_erasure
parent08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff)
downloadboost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/type_erasure')
-rw-r--r--boost/type_erasure/callable.hpp5
-rw-r--r--boost/type_erasure/constructible.hpp5
-rw-r--r--boost/type_erasure/detail/adapt_to_vtable.hpp5
-rw-r--r--boost/type_erasure/detail/storage.hpp4
-rw-r--r--boost/type_erasure/exception.hpp1
-rw-r--r--boost/type_erasure/free.hpp6
-rw-r--r--boost/type_erasure/member.hpp5
7 files changed, 26 insertions, 5 deletions
diff --git a/boost/type_erasure/callable.hpp b/boost/type_erasure/callable.hpp
index 9de4e222e9..0556f1529d 100644
--- a/boost/type_erasure/callable.hpp
+++ b/boost/type_erasure/callable.hpp
@@ -13,6 +13,7 @@
#ifndef BOOST_TYPE_ERASURE_CALLABLE_HPP_INCLUDED
#define BOOST_TYPE_ERASURE_CALLABLE_HPP_INCLUDED
+#include <boost/detail/workaround.hpp>
#include <boost/utility/declval.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/push_back.hpp>
@@ -67,7 +68,9 @@ struct callable
static R apply(F& f, T... arg);
};
-#elif !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#elif !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
+ !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
+ !BOOST_WORKAROUND(BOOST_MSVC, == 1800)
template<class R, class... T, class F>
struct callable<R(T...), F>
diff --git a/boost/type_erasure/constructible.hpp b/boost/type_erasure/constructible.hpp
index 5596b1eade..5f1a413058 100644
--- a/boost/type_erasure/constructible.hpp
+++ b/boost/type_erasure/constructible.hpp
@@ -13,6 +13,7 @@
#ifndef BOOST_TYPE_ERASURE_CONSTRUCTIBLE_HPP_INCLUDED
#define BOOST_TYPE_ERASURE_CONSTRUCTIBLE_HPP_INCLUDED
+#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
@@ -60,7 +61,9 @@ struct vtable_adapter;
template<class Sig>
struct constructible {};
-#elif !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#elif !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
+ !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
+ !BOOST_WORKAROUND(BOOST_MSVC, == 1800)
template<class R, class... T>
struct constructible<R(T...)>
diff --git a/boost/type_erasure/detail/adapt_to_vtable.hpp b/boost/type_erasure/detail/adapt_to_vtable.hpp
index 55cc528947..8f90395c74 100644
--- a/boost/type_erasure/detail/adapt_to_vtable.hpp
+++ b/boost/type_erasure/detail/adapt_to_vtable.hpp
@@ -13,6 +13,7 @@
#ifndef BOOST_TYPE_ERASURE_DETAIL_ADAPT_TO_VTABLE_HPP_INCLUDED
#define BOOST_TYPE_ERASURE_DETAIL_ADAPT_TO_VTABLE_HPP_INCLUDED
+#include <boost/detail/workaround.hpp>
#include <boost/utility/addressof.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/eval_if.hpp>
@@ -174,7 +175,9 @@ struct maybe_adapt_to_vtable
>::type type;
};
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
+ !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
+ !BOOST_WORKAROUND(BOOST_MSVC, == 1800)
template<class PrimitiveConcept, class Sig, class ConceptSig>
struct vtable_adapter_impl;
diff --git a/boost/type_erasure/detail/storage.hpp b/boost/type_erasure/detail/storage.hpp
index c99c3d7c8e..658a9fedca 100644
--- a/boost/type_erasure/detail/storage.hpp
+++ b/boost/type_erasure/detail/storage.hpp
@@ -15,6 +15,10 @@
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_cv.hpp>
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+# include <utility> // for std::forward, std::move
+#endif
+
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable:4521)
diff --git a/boost/type_erasure/exception.hpp b/boost/type_erasure/exception.hpp
index 39a0b990f2..68fb23e12a 100644
--- a/boost/type_erasure/exception.hpp
+++ b/boost/type_erasure/exception.hpp
@@ -13,6 +13,7 @@
#include <stdexcept>
#include <typeinfo>
+#include <string>
namespace boost {
namespace type_erasure {
diff --git a/boost/type_erasure/free.hpp b/boost/type_erasure/free.hpp
index 291ae7520d..a2a6a7100a 100644
--- a/boost/type_erasure/free.hpp
+++ b/boost/type_erasure/free.hpp
@@ -11,6 +11,7 @@
#ifndef BOOST_TYPE_ERASURE_FREE_HPP_INCLUDED
#define BOOST_TYPE_ERASURE_FREE_HPP_INCLUDED
+#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/preprocessor/repetition/enum_trailing.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
@@ -34,7 +35,10 @@
#include <boost/type_erasure/call.hpp>
#include <boost/type_erasure/concept_interface.hpp>
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_TYPE_ERASURE_DOXYGEN)
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
+ defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
+ defined(BOOST_TYPE_ERASURE_DOXYGEN) || \
+ BOOST_WORKAROUND(BOOST_MSVC, == 1800)
namespace boost {
namespace type_erasure {
diff --git a/boost/type_erasure/member.hpp b/boost/type_erasure/member.hpp
index a6de24ab8e..c20a348f47 100644
--- a/boost/type_erasure/member.hpp
+++ b/boost/type_erasure/member.hpp
@@ -11,6 +11,7 @@
#ifndef BOOST_TYPE_ERASURE_MEMBER_HPP_INCLUDED
#define BOOST_TYPE_ERASURE_MEMBER_HPP_INCLUDED
+#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/dec.hpp>
#include <boost/preprocessor/comma_if.hpp>
@@ -33,7 +34,9 @@
#define BOOST_TYPE_ERASURE_MEMBER_ARG(z, n, data) \
typename ::boost::type_erasure::as_param<Base, BOOST_PP_CAT(A, n)>::type BOOST_PP_CAT(a, n)
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_TYPE_ERASURE_DOXYGEN)
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
+ defined(BOOST_TYPE_ERASURE_DOXYGEN) || \
+ BOOST_WORKAROUND(BOOST_MSVC, == 1800)
/** INTERNAL ONLY */
#define BOOST_TYPE_ERASURE_MEMBER_QUALIFIED_ID(seq, N) \