diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-07 18:49:45 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-07 18:49:45 +0300 |
commit | 32e938fca6761692d33ee4f747b71c9ab83551c1 (patch) | |
tree | 1a57eaa89b877634f0f500daf22810b0c22eef87 | |
parent | e3b2f4c99d645adbb0956e98dd7d38bc01b7db29 (diff) | |
download | ydb-32e938fca6761692d33ee4f747b71c9ab83551c1.tar.gz |
Update contrib/restricted/boost/concept_check to 1.79.0
9 files changed, 118 insertions, 33 deletions
diff --git a/contrib/restricted/boost/concept_check/LICENSE b/contrib/restricted/boost/concept_check/LICENSE new file mode 100644 index 0000000000..36b7cd93cd --- /dev/null +++ b/contrib/restricted/boost/concept_check/LICENSE @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/contrib/restricted/boost/concept_check/README.md b/contrib/restricted/boost/concept_check/README.md new file mode 100644 index 0000000000..6e1738ce29 --- /dev/null +++ b/contrib/restricted/boost/concept_check/README.md @@ -0,0 +1,34 @@ +ConceptCheck, part of collection of the [Boost C++ Libraries](http://github.com/boostorg), +allows one to add explicit statement and checking of concepts in the style of the proposed C++ language extension. + +### License + +Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). + +### Properties + +* C++03 +* Header-only + +### Build Status + +Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests | +:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- | +[`master`](https://github.com/boostorg/concept_check/tree/master) | [![Build Status](https://travis-ci.org/boostorg/concept_check.svg?branch=master)](https://travis-ci.org/boostorg/concept_check) | [![Build status](https://ci.appveyor.com/api/projects/status/yoj8ae7yopd903i9/branch/master?svg=true)](https://ci.appveyor.com/project/jeking3/concept_check-gp9xw/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16317/badge.svg)](https://scan.coverity.com/projects/boostorg-concept_check) | [![codecov](https://codecov.io/gh/boostorg/concept_check/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/concept_check/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/concept_check.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/concept_check.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/concept_check.html) +[`develop`](https://github.com/boostorg/concept_check/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/concept_check.svg?branch=develop)](https://travis-ci.org/boostorg/concept_check) | [![Build status](https://ci.appveyor.com/api/projects/status/yoj8ae7yopd903i9/branch/develop?svg=true)](https://ci.appveyor.com/project/jeking3/concept_check-gp9xw/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16317/badge.svg)](https://scan.coverity.com/projects/boostorg-concept_check) | [![codecov](https://codecov.io/gh/boostorg/concept_check/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/concept_check/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/concept_check.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/concept_check.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/concept_check.html) + +### Directories + +| Name | Purpose | +| ----------- | ------------------------------ | +| `doc` | documentation | +| `include` | headers | +| `test` | unit tests | + +### More information + +* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-concept_check) +* [Report bugs](https://github.com/boostorg/concept_check/issues): Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well. +* Submit your patches as pull requests against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). +* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[concept_check]` tag at the beginning of the subject line. + diff --git a/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp index cf98179522..e37350826f 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/assert.hpp @@ -5,7 +5,7 @@ # define BOOST_CONCEPT_ASSERT_DWA2006430_HPP # include <boost/config.hpp> -# include <boost/detail/workaround.hpp> +# include <boost/config/workaround.hpp> // The old protocol used a constraints() member function in concept // checking classes. If the compiler supports SFINAE, we can detect @@ -29,7 +29,7 @@ # ifdef BOOST_MSVC # include <boost/concept/detail/msvc.hpp> -# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# elif BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) # include <boost/concept/detail/borland.hpp> # else # include <boost/concept/detail/general.hpp> diff --git a/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp index 525ea656c2..8d7d6f696e 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/general.hpp @@ -10,7 +10,7 @@ # ifdef BOOST_OLD_CONCEPT_SUPPORT # include <boost/concept/detail/has_constraints.hpp> -# include <boost/mpl/if.hpp> +# include <boost/type_traits/conditional.hpp> # endif // This implementation works on Comeau and GCC, all the way back to @@ -28,7 +28,14 @@ namespace detail template <class Model> struct requirement { +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnonnull" +# endif static void failed() { ((Model*)0)->~Model(); } +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic pop +# endif }; struct failed {}; @@ -36,7 +43,14 @@ struct failed {}; template <class Model> struct requirement<failed ************ Model::************> { +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnonnull" +# endif static void failed() { ((Model*)0)->~Model(); } +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic pop +# endif }; # ifdef BOOST_OLD_CONCEPT_SUPPORT @@ -44,13 +58,20 @@ struct requirement<failed ************ Model::************> template <class Model> struct constraint { +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnonnull" +# endif static void failed() { ((Model*)0)->constraints(); } +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic pop +# endif }; template <class Model> struct requirement_<void(*)(Model)> - : mpl::if_< - concepts::not_satisfied<Model> + : boost::conditional< + concepts::not_satisfied<Model>::value , constraint<Model> , requirement<failed ************ Model::************> >::type diff --git a/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp index a309db3d88..dc2c20714e 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/has_constraints.hpp @@ -4,8 +4,8 @@ #ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP # define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP -# include <boost/mpl/bool.hpp> -# include <boost/detail/workaround.hpp> +# include <boost/type_traits/integral_constant.hpp> +# include <boost/config/workaround.hpp> # include <boost/concept/detail/backward_compatibility.hpp> namespace boost { namespace concepts { @@ -42,7 +42,7 @@ struct not_satisfied BOOST_STATIC_CONSTANT( bool , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) ); - typedef mpl::bool_<value> type; + typedef boost::integral_constant<bool, value> type; }; }} // namespace boost::concepts::detail diff --git a/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp index 09d325ceeb..8ad5e8d808 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/detail/msvc.hpp @@ -10,7 +10,7 @@ # ifdef BOOST_OLD_CONCEPT_SUPPORT # include <boost/concept/detail/has_constraints.hpp> -# include <boost/mpl/if.hpp> +# include <boost/type_traits/conditional.hpp> # endif # ifdef BOOST_MSVC @@ -59,7 +59,7 @@ namespace detail template <class Model> struct require - : mpl::if_c< + : boost::conditional< not_satisfied<Model>::value , detail::constraint # ifndef BOOST_NO_PARTIAL_SPECIALIZATION diff --git a/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp b/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp index e73370fb37..fe88b5f5a7 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept/usage.hpp @@ -5,7 +5,7 @@ # define BOOST_CONCEPT_USAGE_DWA2006919_HPP # include <boost/concept/assert.hpp> -# include <boost/detail/workaround.hpp> +# include <boost/config/workaround.hpp> # include <boost/concept/detail/backward_compatibility.hpp> namespace boost { namespace concepts { @@ -13,7 +13,14 @@ namespace boost { namespace concepts { template <class Model> struct usage_requirements { +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnonnull" +# endif ~usage_requirements() { ((Model*)0)->~Model(); } +# if defined(BOOST_GCC) && (BOOST_GCC >= 110000) +# pragma GCC diagnostic pop +# endif }; # if BOOST_WORKAROUND(__GNUC__, <= 3) diff --git a/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp b/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp index f2455fd855..bd57d978f8 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept_archetype.hpp @@ -15,7 +15,7 @@ #define BOOST_CONCEPT_ARCHETYPES_HPP #include <boost/config.hpp> -#include <boost/mpl/identity.hpp> +#include <boost/config/workaround.hpp> #include <functional> #include <iterator> // iterator tags #include <cstddef> // std::ptrdiff_t @@ -57,7 +57,7 @@ namespace boost { public: static T& get() { -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) return *reinterpret_cast<T*>(0); #else static char d[sizeof(T)]; diff --git a/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp b/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp index 25f118b643..72bd9c2167 100644 --- a/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp +++ b/contrib/restricted/boost/concept_check/include/boost/concept_check.hpp @@ -24,9 +24,9 @@ # include <utility> # include <boost/type_traits/is_same.hpp> # include <boost/type_traits/is_void.hpp> -# include <boost/mpl/assert.hpp> -# include <boost/mpl/bool.hpp> -# include <boost/detail/workaround.hpp> +# include <boost/static_assert.hpp> +# include <boost/type_traits/integral_constant.hpp> +# include <boost/config/workaround.hpp> # include <boost/concept/usage.hpp> # include <boost/concept/detail/concept_def.hpp> @@ -301,14 +301,14 @@ namespace boost BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); } private: - void test(boost::mpl::false_) + void test(boost::false_type) { // Do we really want a reference here? const Return& r = f(); ignore_unused_variable_warning(r); } - void test(boost::mpl::true_) + void test(boost::true_type) { f(); } @@ -321,22 +321,22 @@ namespace boost BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); } private: - void test(boost::mpl::false_) + void test(boost::false_type) { f(arg); // "priming the pump" this way keeps msvc6 happy (ICE) Return r = f(arg); ignore_unused_variable_warning(r); } - void test(boost::mpl::true_) + void test(boost::true_type) { f(arg); } #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) - // Declare a dummy construktor to make gcc happy. - // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. + // Declare a dummy constructor to make gcc happy. + // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type. // (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg" // in class without a constructor [-Wuninitialized]) UnaryFunction(); @@ -350,14 +350,14 @@ namespace boost { BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); } private: - void test(boost::mpl::false_) + void test(boost::false_type) { - f(first,second); + (void) f(first,second); Return r = f(first, second); // require operator() (void)r; } - void test(boost::mpl::true_) + void test(boost::true_type) { f(first,second); } @@ -365,7 +365,7 @@ namespace boost #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. - // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. + // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type. // (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg" // in class without a constructor [-Wuninitialized]) BinaryFunction(); @@ -385,7 +385,7 @@ namespace boost #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. - // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. + // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type. // (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg" // in class without a constructor [-Wuninitialized]) UnaryPredicate(); @@ -404,7 +404,7 @@ namespace boost #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. - // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. + // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type. // (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg" // in class without a constructor [-Wuninitialized]) BinaryPredicate(); @@ -429,7 +429,7 @@ namespace boost #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. - // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. + // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type. // (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg" // in class without a constructor [-Wuninitialized]) Const_BinaryPredicate(); @@ -734,8 +734,8 @@ namespace boost private: void const_constraints(const C& cc) { - const_reverse_iterator i = cc.rbegin(); - i = cc.rend(); + const_reverse_iterator _i = cc.rbegin(); + _i = cc.rend(); } C c; }; @@ -966,7 +966,7 @@ namespace boost { typedef typename C::key_type key_type; typedef typename C::value_type value_type; - BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>)); + BOOST_STATIC_ASSERT((boost::is_same<key_type,value_type>::value)); } }; @@ -979,7 +979,7 @@ namespace boost typedef typename C::value_type value_type; typedef typename C::mapped_type mapped_type; typedef std::pair<const key_type, mapped_type> required_value_type; - BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>)); + BOOST_STATIC_ASSERT((boost::is_same<value_type,required_value_type>::value)); } }; |