diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:45:20 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:46:37 +0900 |
commit | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /boost/type_erasure | |
parent | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff) | |
download | boost-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.hpp | 5 | ||||
-rw-r--r-- | boost/type_erasure/constructible.hpp | 5 | ||||
-rw-r--r-- | boost/type_erasure/detail/adapt_to_vtable.hpp | 5 | ||||
-rw-r--r-- | boost/type_erasure/detail/storage.hpp | 4 | ||||
-rw-r--r-- | boost/type_erasure/exception.hpp | 1 | ||||
-rw-r--r-- | boost/type_erasure/free.hpp | 6 | ||||
-rw-r--r-- | boost/type_erasure/member.hpp | 5 |
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) \ |