diff options
author | robot-contrib <[email protected]> | 2022-08-09 14:24:02 +0300 |
---|---|---|
committer | robot-contrib <[email protected]> | 2022-08-09 14:24:02 +0300 |
commit | acfd90c7557e01d7453cb59130f9a0aeeb4952f4 (patch) | |
tree | e3006529bdf5c4dcd019e5ad1aec751e8bc622a1 | |
parent | 43e7c1bbd0618d1df7cd367be901b7c3e8cb4238 (diff) |
Update contrib/restricted/boost/function_types to 1.79.0
5 files changed, 62 insertions, 10 deletions
diff --git a/contrib/restricted/boost/function_types/include/boost/function_types/components.hpp b/contrib/restricted/boost/function_types/include/boost/function_types/components.hpp index 6f22098d581..c8d63354075 100644 --- a/contrib/restricted/boost/function_types/include/boost/function_types/components.hpp +++ b/contrib/restricted/boost/function_types/include/boost/function_types/components.hpp @@ -22,7 +22,7 @@ #include <boost/mpl/integral_c.hpp> #include <boost/mpl/vector/vector0.hpp> -#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565) +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) # include <boost/type_traits/remove_cv.hpp> # include <boost/mpl/identity.hpp> @@ -76,14 +76,14 @@ namespace boost namespace detail { template<typename T, typename L> struct components_impl; -#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565) +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) template<typename T, typename OrigT, typename L> struct components_bcc; #endif } template<typename T, typename ClassTypeTransform> struct components -#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) : detail::components_impl<T, ClassTypeTransform> #else : detail::components_bcc<typename remove_cv<T>::type,T, @@ -255,7 +255,7 @@ namespace boost typename detail::class_transform<C,L>::type > types; }; -#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) # define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer template<typename T, class C, typename L> diff --git a/contrib/restricted/boost/function_types/include/boost/function_types/config/compiler.hpp b/contrib/restricted/boost/function_types/include/boost/function_types/config/compiler.hpp index 151c8567403..d853330a944 100644 --- a/contrib/restricted/boost/function_types/include/boost/function_types/config/compiler.hpp +++ b/contrib/restricted/boost/function_types/include/boost/function_types/config/compiler.hpp @@ -91,11 +91,11 @@ # define __fastcall __attribute__((__fastcall__)) # endif -#elif defined(__BORLANDC__) +#elif defined(BOOST_BORLANDC) -# if __BORLANDC__ < 0x550 +# if BOOST_BORLANDC < 0x550 # error "unsupported compiler version" -# elif __BORLANDC__ > 0x565 +# elif BOOST_BORLANDC > 0x565 # pragma message("WARNING: library untested with this compiler version") # endif diff --git a/contrib/restricted/boost/function_types/include/boost/function_types/detail/classifier.hpp b/contrib/restricted/boost/function_types/include/boost/function_types/detail/classifier.hpp index b5c5e71ebe5..5cba5f83757 100644 --- a/contrib/restricted/boost/function_types/include/boost/function_types/detail/classifier.hpp +++ b/contrib/restricted/boost/function_types/include/boost/function_types/detail/classifier.hpp @@ -30,7 +30,7 @@ template<bits_t Flags, bits_t CCID, std::size_t Arity> struct encode_charr >::type type; }; -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && !defined(BOOST_DISABLE_WIN32)) # define BOOST_FT_DECL __cdecl #else # define BOOST_FT_DECL /**/ diff --git a/contrib/restricted/boost/function_types/include/boost/function_types/detail/cv_traits.hpp b/contrib/restricted/boost/function_types/include/boost/function_types/detail/cv_traits.hpp index 4e15fa480cc..45c6847f17a 100644 --- a/contrib/restricted/boost/function_types/include/boost/function_types/detail/cv_traits.hpp +++ b/contrib/restricted/boost/function_types/include/boost/function_types/detail/cv_traits.hpp @@ -12,7 +12,7 @@ #include <cstddef> #include <boost/detail/workaround.hpp> -#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582) +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x582) # include <boost/type_traits/remove_cv.hpp> # include <boost/type_traits/remove_pointer.hpp> # include <boost/type_traits/remove_reference.hpp> @@ -22,7 +22,7 @@ namespace boost { namespace function_types { namespace detail { -#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x582) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x582) template<typename T> struct cv_traits { typedef non_cv tag; typedef T type; }; diff --git a/contrib/restricted/boost/function_types/include/boost/function_types/property_tags.hpp b/contrib/restricted/boost/function_types/include/boost/function_types/property_tags.hpp index c2158d352d3..3760a8b1745 100644 --- a/contrib/restricted/boost/function_types/include/boost/function_types/property_tags.hpp +++ b/contrib/restricted/boost/function_types/include/boost/function_types/property_tags.hpp @@ -12,6 +12,7 @@ #include <cstddef> #include <boost/type_traits/integral_constant.hpp> +#include <boost/type_traits/is_same.hpp> #include <boost/mpl/bitxor.hpp> @@ -134,6 +135,20 @@ template<class Tag, class QueryTag> struct extract > mask; }; +/* + + The following is a metafunction which checks whether a + property tag is in a possibly compounded tag type. + + Here both the possibly compounded tag type and a property tag + is given. + +*/ + +template<class Tag, class PropertyTag> struct has_property_tag + : detail::represents_impl<Tag, PropertyTag> +{ }; + } } // namespace ::boost::function_types #include <boost/function_types/detail/pp_tags/preprocessed.hpp> @@ -141,6 +156,43 @@ template<class Tag, class QueryTag> struct extract namespace boost { namespace function_types { #define BOOST_FT_cc_file <boost/function_types/detail/pp_tags/cc_tag.hpp> #include <boost/function_types/detail/pp_loop.hpp> + +/* + + The following are metafunctions which check whether the + specific property tag is in a possibly compounded tag type. + Here only the possibly compounded tag type is given. + +*/ + +template<class Tag> struct has_property_tag<Tag,null_tag> + : ::boost::is_same<Tag, null_tag> +{ }; + +template<class Tag> struct has_variadic_property_tag + : has_property_tag<Tag, variadic> +{ }; + +template<class Tag> struct has_default_cc_property_tag + : has_property_tag<Tag, default_cc> +{ }; + +template<class Tag> struct has_const_property_tag + : has_property_tag<Tag, const_qualified> +{ }; + +template<class Tag> struct has_volatile_property_tag + : has_property_tag<Tag, volatile_qualified> +{ }; + +template<class Tag> struct has_cv_property_tag + : has_property_tag<Tag, cv_qualified> +{ }; + +template<class Tag> struct has_null_property_tag + : has_property_tag<Tag, null_tag> +{ }; + } } // namespace boost::function_types #endif |