diff options
author | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-08-06 16:21:24 +0300 |
---|---|---|
committer | bugaevskiy <bugaevskiy@yandex-team.com> | 2022-08-06 16:21:24 +0300 |
commit | 781b376f87c922fb67085b9d2356a324f63ba6df (patch) | |
tree | fea0000c5f716550abf15b16e3dcf77427fee25c /contrib | |
parent | 539aa27ec83e9e9b91d482a713fab0d3becfd4ee (diff) | |
download | ydb-781b376f87c922fb67085b9d2356a324f63ba6df.tar.gz |
Reimport boost/concept_check as a separate project
Diffstat (limited to 'contrib')
18 files changed, 22 insertions, 321 deletions
diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt index c9209bd3b7..ac5f92169a 100644 --- a/contrib/restricted/boost/CMakeLists.txt +++ b/contrib/restricted/boost/CMakeLists.txt @@ -17,6 +17,7 @@ target_link_libraries(contrib-restricted-boost INTERFACE restricted-boost-array restricted-boost-assert restricted-boost-bind + restricted-boost-concept_check restricted-boost-config restricted-boost-core restricted-boost-endian diff --git a/contrib/restricted/boost/boost/concept/requires.hpp b/contrib/restricted/boost/boost/concept/requires.hpp deleted file mode 100644 index 365ce10045..0000000000 --- a/contrib/restricted/boost/boost/concept/requires.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright David Abrahams 2006. 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_REQUIRES_DWA2006430_HPP -# define BOOST_CONCEPT_REQUIRES_DWA2006430_HPP - -# include <boost/config.hpp> -# include <boost/concept/assert.hpp> -# include <boost/preprocessor/seq/for_each.hpp> - -namespace boost { - -// unaryfunptr_arg_type from parameter/aux_/parenthesized_type.hpp - -namespace ccheck_aux { - -// A metafunction that transforms void(*)(T) -> T -template <class UnaryFunctionPointer> -struct unaryfunptr_arg_type; - -template <class Arg> -struct unaryfunptr_arg_type<void(*)(Arg)> -{ - typedef Arg type; -}; - -template <> -struct unaryfunptr_arg_type<void(*)(void)> -{ - typedef void type; -}; - -} // namespace ccheck_aux - -// Template for use in handwritten assertions -template <class Model, class More> -struct requires_ : More -{ - BOOST_CONCEPT_ASSERT((Model)); -}; - -// Template for use by macros, where models must be wrapped in parens. -// This isn't in namespace detail to keep extra cruft out of resulting -// error messages. -template <class ModelFn> -struct _requires_ -{ - enum { value = 0 }; - BOOST_CONCEPT_ASSERT_FN(ModelFn); -}; - -template <int check, class Result> -struct Requires_ : ::boost::ccheck_aux::unaryfunptr_arg_type<Result> -{ -}; - -# if BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1010)) -# define BOOST_CONCEPT_REQUIRES_(r,data,t) | (::boost::_requires_<void(*)t>::value) -# else -# define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_<void(*)t>::value) -# endif - -#if defined(NDEBUG) - -# define BOOST_CONCEPT_REQUIRES(models, result) \ - typename ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result>::type - -#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - -// Same thing as below without the initial typename -# define BOOST_CONCEPT_REQUIRES(models, result) \ - ::boost::Requires_< \ - (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \ - ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result> \ - >::type - -#else - -// This just ICEs on MSVC6 :( -# define BOOST_CONCEPT_REQUIRES(models, result) \ - typename ::boost::Requires_< \ - (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \ - void(*)result \ - >::type - -#endif - -// C++0x proposed syntax changed. This supports an older usage -#define BOOST_CONCEPT_WHERE(models,result) BOOST_CONCEPT_REQUIRES(models,result) - -} // namespace boost::concept_check - -#endif // BOOST_CONCEPT_REQUIRES_DWA2006430_HPP diff --git a/contrib/restricted/boost/boost/concept_check/borland.hpp b/contrib/restricted/boost/boost/concept_check/borland.hpp deleted file mode 100644 index 107926bb31..0000000000 --- a/contrib/restricted/boost/boost/concept_check/borland.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright David Abrahams 2006. 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_CHECK_BORLAND_DWA2006429_HPP -# define BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP - -namespace boost { - -template <class ModelFn> -struct concept_check; - -template <class Model> -struct concept_check<void(*)(Model)> -{ - enum { instantiate = sizeof((((Model*)0)->~Model()), 3) }; -}; - -# define BOOST_CONCEPT_ASSERT( ModelInParens ) \ - enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - boost::concept_check<void(*)ModelInParens>::instantiate \ - } - -} // namespace boost::concept_checking - -#endif // BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP diff --git a/contrib/restricted/boost/boost/concept_check/general.hpp b/contrib/restricted/boost/boost/concept_check/general.hpp deleted file mode 100644 index cd09fb043e..0000000000 --- a/contrib/restricted/boost/boost/concept_check/general.hpp +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright David Abrahams 2006. 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_CHECK_MSVC_DWA2006429_HPP -# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP - -# ifdef BOOST_OLD_CONCEPT_SUPPORT -# include <boost/concept_check/has_constraints.hpp> -# include <boost/mpl/if.hpp> -# endif - - -// This implementation works on GCC and Comeau, but has actually been -// fairly carefully tuned to work on GCC versions starting with -// gcc-2.95.x. If you're trying to get an additional compiler to pass -// the tests you might consider breaking out a separate gcc.hpp and -// starting over on the general case. -namespace boost -{ - namespace concept_checking - { - template <void(*)()> struct instantiate {}; - } - - template <class ModelFn> struct concept_check_; - - template <class Model> - void concept_check_failed() - { - ((Model*)0)->~Model(); - } - - template <class Model> - struct concept_check - { - concept_checking::instantiate<concept_check_failed<Model> > x; - enum { instantiate = 1 }; - }; - -# ifdef BOOST_OLD_CONCEPT_SUPPORT - - template <class Model> - void constraint_check_failed() - { - ((Model*)0)->constraints(); - } - - template <class Model> - struct constraint_check - { - concept_checking::instantiate<constraint_check_failed<Model> > x; - enum { instantiate = 1 }; - }; - - template <class Model> - struct concept_check_<void(*)(Model)> - : mpl::if_c< - concept_checking::has_constraints<Model>::value - , constraint_check<Model> - , concept_check<Model> - >::type - {}; - -# else - - template <class Model> - struct concept_check_<void(*)(Model)> - : concept_check<Model> - {}; - -# endif - - // Usage, in class or function context: - // - // BOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>)); -# define BOOST_CONCEPT_ASSERT( ModelInParens ) \ - enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - ::boost::concept_check_<void(*) ModelInParens>::instantiate \ - } -} - -#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP diff --git a/contrib/restricted/boost/boost/concept_check/has_constraints.hpp b/contrib/restricted/boost/boost/concept_check/has_constraints.hpp deleted file mode 100644 index e19f664f62..0000000000 --- a/contrib/restricted/boost/boost/concept_check/has_constraints.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright David Abrahams 2006. 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_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP -# define BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP - -namespace boost { namespace concept_checking { - -// Here we implement the "metafunction" that detects whether a -// constraints metafunction exists -typedef char yes; -typedef char (&no)[2]; - -template <class Model, void (Model::*)()> -struct wrap_constraints {}; - -template <class Model> -inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0); -inline no has_constraints_(...); - -template <class Model> -struct has_constraints -{ - BOOST_STATIC_CONSTANT( - bool - , value = sizeof( concept_checking::has_constraints_((Model*)0) ) == 1 ); -}; - -}} // namespace boost::concept_checking - -#endif // BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP diff --git a/contrib/restricted/boost/boost/concept_check/msvc.hpp b/contrib/restricted/boost/boost/concept_check/msvc.hpp deleted file mode 100644 index 3968469a89..0000000000 --- a/contrib/restricted/boost/boost/concept_check/msvc.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright David Abrahams 2006. 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_CHECK_MSVC_DWA2006429_HPP -# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP - -# ifdef BOOST_OLD_CONCEPT_SUPPORT -# include <boost/concept_check/has_constraints.hpp> -# include <boost/mpl/if.hpp> -# endif - - -namespace boost -{ - namespace concept_checking - { - template <class Model> - struct concept_check_ - { - virtual void failed(Model* x) - { - x->~Model(); - } - }; - } - -# ifdef BOOST_OLD_CONCEPT_SUPPORT - - namespace concept_checking - { - template <class Model> - struct constraint_check - { - virtual void failed(Model* x) - { - x->constraints(); - } - }; - } - - template <class Model> - struct concept_check - : mpl::if_c< - concept_checking::has_constraints<Model>::value - , concept_checking::constraint_check<Model> - , concept_checking::concept_check_<Model> - >::type - {}; - -# else - - template <class Model> - struct concept_check - : concept_checking::concept_check_<Model> - {}; - -# endif - -# if BOOST_WORKAROUND(BOOST_MSVC, == 1310) - - // - // The iterator library sees some really strange errors unless we - // use partial specialization to extract the model type with - // msvc-7.1 - // - template <class Model> - struct concept_check<void(*)(Model)> - : concept_check<Model> - { }; - -# define BOOST_CONCEPT_ASSERT( ModelInParens ) \ - enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concept_check<void(*) ModelInParens>) \ - } - -# else - - template <class Model> - concept_check<Model> - concept_check_(void(*)(Model)); - -# define BOOST_CONCEPT_ASSERT( ModelInParens ) \ - enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concept_check_((void(*) ModelInParens)0)) \ - } - -# endif -} - -#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP diff --git a/contrib/restricted/boost/concept_check/CMakeLists.txt b/contrib/restricted/boost/concept_check/CMakeLists.txt new file mode 100644 index 0000000000..f2f03435a6 --- /dev/null +++ b/contrib/restricted/boost/concept_check/CMakeLists.txt @@ -0,0 +1,21 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(restricted-boost-concept_check INTERFACE) +target_include_directories(restricted-boost-concept_check INTERFACE + ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/concept_check/include +) +target_link_libraries(restricted-boost-concept_check INTERFACE + contrib-libs-cxxsupp + yutil + restricted-boost-config + restricted-boost-mpl + restricted-boost-preprocessor + restricted-boost-type_traits +) diff --git a/contrib/restricted/boost/boost/concept/assert.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp index cf98179522..cf98179522 100644 --- a/contrib/restricted/boost/boost/concept/assert.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/backward_compatibility.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/backward_compatibility.hpp index 66d573ef4b..66d573ef4b 100644 --- a/contrib/restricted/boost/boost/concept/detail/backward_compatibility.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/backward_compatibility.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/borland.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/borland.hpp index 300d5d4050..300d5d4050 100644 --- a/contrib/restricted/boost/boost/concept/detail/borland.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/borland.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/concept_def.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/concept_def.hpp index 750561ee30..750561ee30 100644 --- a/contrib/restricted/boost/boost/concept/detail/concept_def.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/concept_def.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/concept_undef.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/concept_undef.hpp index 713db89123..713db89123 100644 --- a/contrib/restricted/boost/boost/concept/detail/concept_undef.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/concept_undef.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/general.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp index 525ea656c2..525ea656c2 100644 --- a/contrib/restricted/boost/boost/concept/detail/general.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/has_constraints.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp index a309db3d88..a309db3d88 100644 --- a/contrib/restricted/boost/boost/concept/detail/has_constraints.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp diff --git a/contrib/restricted/boost/boost/concept/detail/msvc.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp index 09d325ceeb..09d325ceeb 100644 --- a/contrib/restricted/boost/boost/concept/detail/msvc.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp diff --git a/contrib/restricted/boost/boost/concept/usage.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp index e73370fb37..e73370fb37 100644 --- a/contrib/restricted/boost/boost/concept/usage.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp diff --git a/contrib/restricted/boost/boost/concept_archetype.hpp b/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp index f2455fd855..f2455fd855 100644 --- a/contrib/restricted/boost/boost/concept_archetype.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp diff --git a/contrib/restricted/boost/boost/concept_check.hpp b/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp index 25f118b643..25f118b643 100644 --- a/contrib/restricted/boost/boost/concept_check.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp |