aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbugaevskiy <bugaevskiy@yandex-team.com>2022-08-07 00:25:06 +0300
committerbugaevskiy <bugaevskiy@yandex-team.com>2022-08-07 00:25:06 +0300
commit23fe42987d8081527949b9c0548c787149b12d67 (patch)
tree5b7ee8a5144a9ccd91c526b17283aa9e01f2abe9
parent8f976894a19f7f4ce4ad7a2fe01acaf18590eb95 (diff)
downloadydb-23fe42987d8081527949b9c0548c787149b12d67.tar.gz
Reimport boost/detail as a separate project
-rw-r--r--CMakeLists.darwin.txt1
-rw-r--r--CMakeLists.linux.txt1
-rw-r--r--contrib/restricted/boost/CMakeLists.txt1
-rw-r--r--contrib/restricted/boost/boost/detail/catch_exceptions.hpp142
-rw-r--r--contrib/restricted/boost/boost/detail/has_default_constructor.hpp29
-rw-r--r--contrib/restricted/boost/boost/detail/identifier.hpp87
-rw-r--r--contrib/restricted/boost/boost/detail/lightweight_main.hpp36
-rw-r--r--contrib/restricted/boost/boost/detail/lightweight_test_report.hpp56
-rw-r--r--contrib/restricted/boost/boost/detail/named_template_params.hpp177
-rw-r--r--contrib/restricted/boost/detail/CMakeLists.txt23
-rw-r--r--contrib/restricted/boost/detail/include/boost/blank.hpp (renamed from contrib/restricted/boost/boost/blank.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/blank_fwd.hpp (renamed from contrib/restricted/boost/boost/blank_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/cstdlib.hpp (renamed from contrib/restricted/boost/boost/cstdlib.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/allocator_utilities.hpp (renamed from contrib/restricted/boost/boost/detail/allocator_utilities.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/binary_search.hpp (renamed from contrib/restricted/boost/boost/detail/binary_search.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/bitmask.hpp (renamed from contrib/restricted/boost/boost/detail/bitmask.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/container_fwd.hpp (renamed from contrib/restricted/boost/boost/detail/container_fwd.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/fenv.hpp (renamed from contrib/restricted/boost/boost/detail/fenv.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/indirect_traits.hpp (renamed from contrib/restricted/boost/boost/detail/indirect_traits.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/is_incrementable.hpp (renamed from contrib/restricted/boost/boost/detail/is_incrementable.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/is_sorted.hpp (renamed from contrib/restricted/boost/boost/detail/is_sorted.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/is_xxx.hpp (renamed from contrib/restricted/boost/boost/detail/is_xxx.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/numeric_traits.hpp (renamed from contrib/restricted/boost/boost/detail/numeric_traits.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/reference_content.hpp (renamed from contrib/restricted/boost/boost/detail/reference_content.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/select_type.hpp (renamed from contrib/restricted/boost/boost/detail/select_type.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/templated_streams.hpp (renamed from contrib/restricted/boost/boost/detail/templated_streams.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.hpp (renamed from contrib/restricted/boost/boost/detail/utf8_codecvt_facet.hpp)0
-rw-r--r--contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.ipp (renamed from contrib/restricted/boost/boost/detail/utf8_codecvt_facet.ipp)0
28 files changed, 26 insertions, 527 deletions
diff --git a/CMakeLists.darwin.txt b/CMakeLists.darwin.txt
index 9dc4a2e1d91..68ca658776a 100644
--- a/CMakeLists.darwin.txt
+++ b/CMakeLists.darwin.txt
@@ -370,6 +370,7 @@ add_subdirectory(contrib/restricted/boost/conversion)
add_subdirectory(contrib/restricted/boost/smart_ptr)
add_subdirectory(contrib/restricted/boost/move)
add_subdirectory(contrib/restricted/boost/typeof)
+add_subdirectory(contrib/restricted/boost/detail)
add_subdirectory(contrib/restricted/boost/endian)
add_subdirectory(contrib/restricted/boost/system)
add_subdirectory(contrib/restricted/boost/winapi)
diff --git a/CMakeLists.linux.txt b/CMakeLists.linux.txt
index 83fcb59a9bf..5a3ed000b79 100644
--- a/CMakeLists.linux.txt
+++ b/CMakeLists.linux.txt
@@ -373,6 +373,7 @@ add_subdirectory(contrib/restricted/boost/conversion)
add_subdirectory(contrib/restricted/boost/smart_ptr)
add_subdirectory(contrib/restricted/boost/move)
add_subdirectory(contrib/restricted/boost/typeof)
+add_subdirectory(contrib/restricted/boost/detail)
add_subdirectory(contrib/restricted/boost/endian)
add_subdirectory(contrib/restricted/boost/system)
add_subdirectory(contrib/restricted/boost/winapi)
diff --git a/contrib/restricted/boost/CMakeLists.txt b/contrib/restricted/boost/CMakeLists.txt
index 82b9a3c5555..ea4ccd31529 100644
--- a/contrib/restricted/boost/CMakeLists.txt
+++ b/contrib/restricted/boost/CMakeLists.txt
@@ -21,6 +21,7 @@ target_link_libraries(contrib-restricted-boost INTERFACE
restricted-boost-config
restricted-boost-conversion
restricted-boost-core
+ restricted-boost-detail
restricted-boost-endian
restricted-boost-exception
restricted-boost-integer
diff --git a/contrib/restricted/boost/boost/detail/catch_exceptions.hpp b/contrib/restricted/boost/boost/detail/catch_exceptions.hpp
deleted file mode 100644
index 823ebd1e298..00000000000
--- a/contrib/restricted/boost/boost/detail/catch_exceptions.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// boost/catch_exceptions.hpp -----------------------------------------------//
-
-// Copyright Beman Dawes 1995-2001. 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)
-
-// See http://www.boost.org/libs/test for documentation.
-
-// Revision History
-// 13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones)
-// 26 Feb 01 Numerous changes suggested during formal review. (Beman)
-// 25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp.
-// 22 Jan 01 Remove test_tools dependencies to reduce coupling.
-// 5 Nov 00 Initial boost version (Beman Dawes)
-
-#ifndef BOOST_CATCH_EXCEPTIONS_HPP
-#define BOOST_CATCH_EXCEPTIONS_HPP
-
-// header dependencies are deliberately restricted to the standard library
-// to reduce coupling to other boost libraries.
-#include <string> // for string
-#include <new> // for bad_alloc
-#include <typeinfo> // for bad_cast, bad_typeid
-#include <exception> // for exception, bad_exception
-#include <stdexcept> // for std exception hierarchy
-#include <boost/cstdlib.hpp> // for exit codes
-#include <ostream> // for ostream
-
-# if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551)
-# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT
-# endif
-
-#if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890)
-# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT
- namespace std { class bad_typeid { }; }
-# endif
-
-namespace boost
-{
-
- namespace detail
- {
- // A separate reporting function was requested during formal review.
- inline void report_exception( std::ostream & os,
- const char * name, const char * info )
- { os << "\n** uncaught exception: " << name << " " << info << std::endl; }
- }
-
- // catch_exceptions ------------------------------------------------------//
-
- template< class Generator > // Generator is function object returning int
- int catch_exceptions( Generator function_object,
- std::ostream & out, std::ostream & err )
- {
- int result = 0; // quiet compiler warnings
- bool exception_thrown = true; // avoid setting result for each excptn type
-
-#ifndef BOOST_NO_EXCEPTIONS
- try
- {
-#endif
- result = function_object();
- exception_thrown = false;
-#ifndef BOOST_NO_EXCEPTIONS
- }
-
- // As a result of hard experience with strangely interleaved output
- // under some compilers, there is a lot of use of endl in the code below
- // where a simple '\n' might appear to do.
-
- // The rules for catch & arguments are a bit different from function
- // arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't
- // required, but it doesn't hurt and some programmers ask for it.
-
- catch ( const char * ex )
- { detail::report_exception( out, "", ex ); }
- catch ( const std::string & ex )
- { detail::report_exception( out, "", ex.c_str() ); }
-
- // std:: exceptions
- catch ( const std::bad_alloc & ex )
- { detail::report_exception( out, "std::bad_alloc:", ex.what() ); }
-
-# ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT
- catch ( const std::bad_cast & ex )
- { detail::report_exception( out, "std::bad_cast:", ex.what() ); }
- catch ( const std::bad_typeid & ex )
- { detail::report_exception( out, "std::bad_typeid:", ex.what() ); }
-# else
- catch ( const std::bad_cast & )
- { detail::report_exception( out, "std::bad_cast", "" ); }
- catch ( const std::bad_typeid & )
- { detail::report_exception( out, "std::bad_typeid", "" ); }
-# endif
-
- catch ( const std::bad_exception & ex )
- { detail::report_exception( out, "std::bad_exception:", ex.what() ); }
- catch ( const std::domain_error & ex )
- { detail::report_exception( out, "std::domain_error:", ex.what() ); }
- catch ( const std::invalid_argument & ex )
- { detail::report_exception( out, "std::invalid_argument:", ex.what() ); }
- catch ( const std::length_error & ex )
- { detail::report_exception( out, "std::length_error:", ex.what() ); }
- catch ( const std::out_of_range & ex )
- { detail::report_exception( out, "std::out_of_range:", ex.what() ); }
- catch ( const std::range_error & ex )
- { detail::report_exception( out, "std::range_error:", ex.what() ); }
- catch ( const std::overflow_error & ex )
- { detail::report_exception( out, "std::overflow_error:", ex.what() ); }
- catch ( const std::underflow_error & ex )
- { detail::report_exception( out, "std::underflow_error:", ex.what() ); }
- catch ( const std::logic_error & ex )
- { detail::report_exception( out, "std::logic_error:", ex.what() ); }
- catch ( const std::runtime_error & ex )
- { detail::report_exception( out, "std::runtime_error:", ex.what() ); }
- catch ( const std::exception & ex )
- { detail::report_exception( out, "std::exception:", ex.what() ); }
-
- catch ( ... )
- { detail::report_exception( out, "unknown exception", "" ); }
-#endif // BOOST_NO_EXCEPTIONS
-
- if ( exception_thrown ) result = boost::exit_exception_failure;
-
- if ( result != 0 && result != exit_success )
- {
- out << std::endl << "**** returning with error code "
- << result << std::endl;
- err
- << "********** errors detected; see stdout for details ***********"
- << std::endl;
- }
-#if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE)
- else { out << std::flush << "no errors detected" << std::endl; }
-#endif
- return result;
- } // catch_exceptions
-
-} // boost
-
-#endif // BOOST_CATCH_EXCEPTIONS_HPP
-
diff --git a/contrib/restricted/boost/boost/detail/has_default_constructor.hpp b/contrib/restricted/boost/boost/detail/has_default_constructor.hpp
deleted file mode 100644
index 319b30abcd0..00000000000
--- a/contrib/restricted/boost/boost/detail/has_default_constructor.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// (C) Copyright Matthias Troyerk 2006.
-// Use, modification and distribution are subject to 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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-namespace boost { namespace detail {
-
-/// type trait to check for a default constructor
-///
-/// The default implementation just checks for a trivial constructor.
-/// Using some compiler magic it might be possible to provide a better default
-
-template <class T>
-struct has_default_constructor
- : public has_trivial_constructor<T>
-{};
-
-} } // namespace boost::detail
-
-
-#endif // BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
diff --git a/contrib/restricted/boost/boost/detail/identifier.hpp b/contrib/restricted/boost/boost/detail/identifier.hpp
deleted file mode 100644
index 063d23801ee..00000000000
--- a/contrib/restricted/boost/boost/detail/identifier.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// boost/identifier.hpp ----------------------------------------------------//
-
-// Copyright Beman Dawes 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)
-
-// See documentation at http://www.boost.org/libs/utility
-
-#ifndef BOOST_IDENTIFIER_HPP
-#define BOOST_IDENTIFIER_HPP
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <iosfwd>
-
-namespace boost
-{
- namespace detail
- {
- // class template identifier ---------------------------------------------//
-
- // Always used as a base class so that different instantiations result in
- // different class types even if instantiated with the same value type T.
-
- // Expected usage is that T is often an integer type, best passed by
- // value. There is no reason why T can't be a possibly larger class such as
- // std::string, best passed by const reference.
-
- // This implementation uses pass by value, based on expected common uses.
-
- template <typename T, typename D>
- class identifier
- {
- public:
- typedef T value_type;
-
- const value_type value() const { return m_value; }
- void assign( value_type v ) { m_value = v; }
-
- bool operator==( const D & rhs ) const { return m_value == rhs.m_value; }
- bool operator!=( const D & rhs ) const { return m_value != rhs.m_value; }
- bool operator< ( const D & rhs ) const { return m_value < rhs.m_value; }
- bool operator<=( const D & rhs ) const { return m_value <= rhs.m_value; }
- bool operator> ( const D & rhs ) const { return m_value > rhs.m_value; }
- bool operator>=( const D & rhs ) const { return m_value >= rhs.m_value; }
-
- typedef void (*unspecified_bool_type)(D); // without the D, unspecified_bool_type
- static void unspecified_bool_true(D){} // conversion allows relational operators
- // between different identifier types
-
- operator unspecified_bool_type() const { return m_value == value_type() ? 0 : unspecified_bool_true; }
- bool operator!() const { return m_value == value_type(); }
-
- // constructors are protected so that class can only be used as a base class
- protected:
- identifier() {}
- explicit identifier( value_type v ) : m_value(v) {}
-
- private:
- T m_value;
- };
-
- //#ifndef BOOST_NO_SFINAE
-
- // template <class Ostream, class Id>
- // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >,
- // Ostream & >::type operator<<( Ostream & os, const Id & id )
- // {
- // return os << id.value();
- // }
-
- // template <class Istream, class Id>
- // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >,
- // Istream & >::type operator>>( Istream & is, Id & id )
- // {
- // typename Id::value_type v;
- // is >> v;
- // id.value( v );
- // return is;
- // }
- //#endif
-
- } // namespace detail
-} // namespace boost
-
-#endif // BOOST_IDENTIFIER_HPP
diff --git a/contrib/restricted/boost/boost/detail/lightweight_main.hpp b/contrib/restricted/boost/boost/detail/lightweight_main.hpp
deleted file mode 100644
index 17053097806..00000000000
--- a/contrib/restricted/boost/boost/detail/lightweight_main.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// boost/detail/lightweight_main.hpp -------------------------------------------------//
-
-// Copyright Beman Dawes 2010
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-#include <iostream>
-#include <exception>
-
-//--------------------------------------------------------------------------------------//
-// //
-// exception reporting main() that calls cpp_main() //
-// //
-//--------------------------------------------------------------------------------------//
-
-int cpp_main(int argc, char* argv[]);
-
-int main(int argc, char* argv[])
-{
- try
- {
- return cpp_main(argc, argv);
- }
-
- catch (const std::exception& ex)
- {
- std::cout
- << "\nERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR\n"
- << "\n****************************** std::exception *****************************\n"
- << ex.what()
- << "\n***************************************************************************\n"
- << std::endl;
- }
- return 1;
-}
diff --git a/contrib/restricted/boost/boost/detail/lightweight_test_report.hpp b/contrib/restricted/boost/boost/detail/lightweight_test_report.hpp
deleted file mode 100644
index 1511ba9d149..00000000000
--- a/contrib/restricted/boost/boost/detail/lightweight_test_report.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// boost/detail/lightweight_test_reporter.hpp ----------------------------------------//
-
-// Copyright Beman Dawes 2014
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-//--------------------------------------------------------------------------------------//
-// //
-// Configuration reporting cpp_main() //
-// //
-// Displays configuration information, then returns test_main(argc, argv), which //
-// must be supplied by the user. //
-// //
-// Note: cpp_main(argc, argv) is called from a try block in main(), which is //
-// supplied by <boost/detail/lightweight_main.hpp> as is a catch block that reports //
-// std::exception what(). //
-// //
-//--------------------------------------------------------------------------------------//
-
-#include <boost/config.hpp>
-#include <boost/version.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <iostream>
-
-int test_main(int argc, char* argv[]);
-
-int cpp_main(int argc, char* argv[])
-{
- std::cout << BOOST_COMPILER
-#ifdef __GNUC__
- << ", __GXX_EXPERIMENTAL_CXX0X__ "
-# ifdef __GXX_EXPERIMENTAL_CXX0X__
- "defined"
-# else
- "not defined"
-# endif
-#endif
- << "\n"
- << BOOST_STDLIB << "\n"
- << BOOST_PLATFORM << "\n"
- << "Boost version " << BOOST_VERSION / 100000 << '.'
- << BOOST_VERSION / 100 % 1000 << '.' << BOOST_VERSION % 100 << "\n";
-
- std::cout << "Command line: ";
- for (int a = 0; a < argc; ++a)
- {
- std::cout << argv[a];
- if (a != argc - 1)
- std::cout << ' ';
- }
- std::cout << std::endl;
-
- return test_main(argc, argv);
-} \ No newline at end of file
diff --git a/contrib/restricted/boost/boost/detail/named_template_params.hpp b/contrib/restricted/boost/boost/detail/named_template_params.hpp
deleted file mode 100644
index e7cb0794330..00000000000
--- a/contrib/restricted/boost/boost/detail/named_template_params.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// (C) Copyright Jeremy Siek 2001.
-// 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)
-
-// Revision History:
-
-// 04 Oct 2001 David Abrahams
-// Changed name of "bind" to "select" to avoid problems with MSVC.
-
-#ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
-#define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
-
-#include <boost/type_traits/conversion_traits.hpp>
-#include <boost/type_traits/composite_traits.hpp> // for is_reference
-#if defined(__BORLANDC__)
-#include <boost/type_traits/ice.hpp>
-#endif
-
-namespace boost {
- namespace detail {
-
- struct default_argument { };
-
- struct dummy_default_gen {
- template <class Base, class Traits>
- struct select {
- typedef default_argument type;
- };
- };
-
- // This class template is a workaround for MSVC.
- template <class Gen> struct default_generator {
- typedef detail::dummy_default_gen type;
- };
-
- template <class T> struct is_default {
- enum { value = false };
- typedef type_traits::no_type type;
- };
- template <> struct is_default<default_argument> {
- enum { value = true };
- typedef type_traits::yes_type type;
- };
-
- struct choose_default {
- template <class Arg, class DefaultGen, class Base, class Traits>
- struct select {
- typedef typename default_generator<DefaultGen>::type Gen;
- typedef typename Gen::template select<Base,Traits>::type type;
- };
- };
- struct choose_arg {
- template <class Arg, class DefaultGen, class Base, class Traits>
- struct select {
- typedef Arg type;
- };
- };
-
-#if defined(__BORLANDC__)
- template <class UseDefault>
- struct choose_arg_or_default { typedef choose_arg type; };
- template <>
- struct choose_arg_or_default<type_traits::yes_type> {
- typedef choose_default type;
- };
-#else
- template <bool UseDefault>
- struct choose_arg_or_default { typedef choose_arg type; };
- template <>
- struct choose_arg_or_default<true> {
- typedef choose_default type;
- };
-#endif
-
- template <class Arg, class DefaultGen, class Base, class Traits>
- class resolve_default {
-#if defined(__BORLANDC__)
- typedef typename choose_arg_or_default<typename is_default<Arg>::type>::type Selector;
-#else
- // This usually works for Borland, but I'm seeing weird errors in
- // iterator_adaptor_test.cpp when using this method.
- enum { is_def = is_default<Arg>::value };
- typedef typename choose_arg_or_default<is_def>::type Selector;
-#endif
- public:
- typedef typename Selector
- ::template select<Arg, DefaultGen, Base, Traits>::type type;
- };
-
- // To differentiate an unnamed parameter from a traits generator
- // we use is_convertible<X, iter_traits_gen_base>.
- struct named_template_param_base { };
-
- template <class X>
- struct is_named_param_list {
- enum { value = is_convertible<X, named_template_param_base>::value };
- };
-
- struct choose_named_params {
- template <class Prev> struct select { typedef Prev type; };
- };
- struct choose_default_arg {
- template <class Prev> struct select {
- typedef detail::default_argument type;
- };
- };
-
- template <bool Named> struct choose_default_dispatch_;
- template <> struct choose_default_dispatch_<true> {
- typedef choose_named_params type;
- };
- template <> struct choose_default_dispatch_<false> {
- typedef choose_default_arg type;
- };
- // The use of inheritance here is a Solaris Forte 6 workaround.
- template <bool Named> struct choose_default_dispatch
- : public choose_default_dispatch_<Named> { };
-
- template <class PreviousArg>
- struct choose_default_argument {
- enum { is_named = is_named_param_list<PreviousArg>::value };
- typedef typename choose_default_dispatch<is_named>::type Selector;
- typedef typename Selector::template select<PreviousArg>::type type;
- };
-
- // This macro assumes that there is a class named default_##TYPE
- // defined before the application of the macro. This class should
- // have a single member class template named "select" with two
- // template parameters: the type of the class being created (e.g.,
- // the iterator_adaptor type when creating iterator adaptors) and
- // a traits class. The select class should have a single typedef
- // named "type" that produces the default for TYPE. See
- // boost/iterator_adaptors.hpp for an example usage. Also,
- // applications of this macro must be placed in namespace
- // boost::detail.
-
-#define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \
- struct get_##TYPE##_from_named { \
- template <class Base, class NamedParams, class Traits> \
- struct select { \
- typedef typename NamedParams::traits NamedTraits; \
- typedef typename NamedTraits::TYPE TYPE; \
- typedef typename resolve_default<TYPE, \
- default_##TYPE, Base, NamedTraits>::type type; \
- }; \
- }; \
- struct pass_thru_##TYPE { \
- template <class Base, class Arg, class Traits> struct select { \
- typedef typename resolve_default<Arg, \
- default_##TYPE, Base, Traits>::type type; \
- };\
- }; \
- template <int NamedParam> \
- struct get_##TYPE##_dispatch { }; \
- template <> struct get_##TYPE##_dispatch<1> { \
- typedef get_##TYPE##_from_named type; \
- }; \
- template <> struct get_##TYPE##_dispatch<0> { \
- typedef pass_thru_##TYPE type; \
- }; \
- template <class Base, class X, class Traits> \
- class get_##TYPE { \
- enum { is_named = is_named_param_list<X>::value }; \
- typedef typename get_##TYPE##_dispatch<is_named>::type Selector; \
- public: \
- typedef typename Selector::template select<Base, X, Traits>::type type; \
- }; \
- template <> struct default_generator<default_##TYPE> { \
- typedef default_##TYPE type; \
- }
-
-
- } // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
diff --git a/contrib/restricted/boost/detail/CMakeLists.txt b/contrib/restricted/boost/detail/CMakeLists.txt
new file mode 100644
index 00000000000..5d4334e7466
--- /dev/null
+++ b/contrib/restricted/boost/detail/CMakeLists.txt
@@ -0,0 +1,23 @@
+
+# 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-detail INTERFACE)
+target_include_directories(restricted-boost-detail INTERFACE
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/detail/include
+)
+target_link_libraries(restricted-boost-detail INTERFACE
+ contrib-libs-cxxsupp
+ yutil
+ restricted-boost-config
+ restricted-boost-core
+ restricted-boost-mpl
+ restricted-boost-preprocessor
+ restricted-boost-static_assert
+ restricted-boost-type_traits
+)
diff --git a/contrib/restricted/boost/boost/blank.hpp b/contrib/restricted/boost/detail/include/boost/blank.hpp
index d0fe5abca56..d0fe5abca56 100644
--- a/contrib/restricted/boost/boost/blank.hpp
+++ b/contrib/restricted/boost/detail/include/boost/blank.hpp
diff --git a/contrib/restricted/boost/boost/blank_fwd.hpp b/contrib/restricted/boost/detail/include/boost/blank_fwd.hpp
index 8bfe97c4699..8bfe97c4699 100644
--- a/contrib/restricted/boost/boost/blank_fwd.hpp
+++ b/contrib/restricted/boost/detail/include/boost/blank_fwd.hpp
diff --git a/contrib/restricted/boost/boost/cstdlib.hpp b/contrib/restricted/boost/detail/include/boost/cstdlib.hpp
index 63221463542..63221463542 100644
--- a/contrib/restricted/boost/boost/cstdlib.hpp
+++ b/contrib/restricted/boost/detail/include/boost/cstdlib.hpp
diff --git a/contrib/restricted/boost/boost/detail/allocator_utilities.hpp b/contrib/restricted/boost/detail/include/boost/detail/allocator_utilities.hpp
index 11eecbe1b52..11eecbe1b52 100644
--- a/contrib/restricted/boost/boost/detail/allocator_utilities.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/allocator_utilities.hpp
diff --git a/contrib/restricted/boost/boost/detail/binary_search.hpp b/contrib/restricted/boost/detail/include/boost/detail/binary_search.hpp
index 3dca9b65092..3dca9b65092 100644
--- a/contrib/restricted/boost/boost/detail/binary_search.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/binary_search.hpp
diff --git a/contrib/restricted/boost/boost/detail/bitmask.hpp b/contrib/restricted/boost/detail/include/boost/detail/bitmask.hpp
index 63d4fac0c26..63d4fac0c26 100644
--- a/contrib/restricted/boost/boost/detail/bitmask.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/bitmask.hpp
diff --git a/contrib/restricted/boost/boost/detail/container_fwd.hpp b/contrib/restricted/boost/detail/include/boost/detail/container_fwd.hpp
index 04ce972738e..04ce972738e 100644
--- a/contrib/restricted/boost/boost/detail/container_fwd.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/container_fwd.hpp
diff --git a/contrib/restricted/boost/boost/detail/fenv.hpp b/contrib/restricted/boost/detail/include/boost/detail/fenv.hpp
index b268f5c1ccd..b268f5c1ccd 100644
--- a/contrib/restricted/boost/boost/detail/fenv.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/fenv.hpp
diff --git a/contrib/restricted/boost/boost/detail/indirect_traits.hpp b/contrib/restricted/boost/detail/include/boost/detail/indirect_traits.hpp
index 6294e40f6a9..6294e40f6a9 100644
--- a/contrib/restricted/boost/boost/detail/indirect_traits.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/indirect_traits.hpp
diff --git a/contrib/restricted/boost/boost/detail/is_incrementable.hpp b/contrib/restricted/boost/detail/include/boost/detail/is_incrementable.hpp
index 5ebf4b7acab..5ebf4b7acab 100644
--- a/contrib/restricted/boost/boost/detail/is_incrementable.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/is_incrementable.hpp
diff --git a/contrib/restricted/boost/boost/detail/is_sorted.hpp b/contrib/restricted/boost/detail/include/boost/detail/is_sorted.hpp
index 5ab32e5c599..5ab32e5c599 100644
--- a/contrib/restricted/boost/boost/detail/is_sorted.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/is_sorted.hpp
diff --git a/contrib/restricted/boost/boost/detail/is_xxx.hpp b/contrib/restricted/boost/detail/include/boost/detail/is_xxx.hpp
index 3f9a1265eed..3f9a1265eed 100644
--- a/contrib/restricted/boost/boost/detail/is_xxx.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/is_xxx.hpp
diff --git a/contrib/restricted/boost/boost/detail/numeric_traits.hpp b/contrib/restricted/boost/detail/include/boost/detail/numeric_traits.hpp
index a62affb347c..a62affb347c 100644
--- a/contrib/restricted/boost/boost/detail/numeric_traits.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/numeric_traits.hpp
diff --git a/contrib/restricted/boost/boost/detail/reference_content.hpp b/contrib/restricted/boost/detail/include/boost/detail/reference_content.hpp
index 36b80d244ec..36b80d244ec 100644
--- a/contrib/restricted/boost/boost/detail/reference_content.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/reference_content.hpp
diff --git a/contrib/restricted/boost/boost/detail/select_type.hpp b/contrib/restricted/boost/detail/include/boost/detail/select_type.hpp
index c13946f3384..c13946f3384 100644
--- a/contrib/restricted/boost/boost/detail/select_type.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/select_type.hpp
diff --git a/contrib/restricted/boost/boost/detail/templated_streams.hpp b/contrib/restricted/boost/detail/include/boost/detail/templated_streams.hpp
index 1fa6ee35343..1fa6ee35343 100644
--- a/contrib/restricted/boost/boost/detail/templated_streams.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/templated_streams.hpp
diff --git a/contrib/restricted/boost/boost/detail/utf8_codecvt_facet.hpp b/contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.hpp
index 71a4b1bba1c..71a4b1bba1c 100644
--- a/contrib/restricted/boost/boost/detail/utf8_codecvt_facet.hpp
+++ b/contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.hpp
diff --git a/contrib/restricted/boost/boost/detail/utf8_codecvt_facet.ipp b/contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.ipp
index d60f9063417..d60f9063417 100644
--- a/contrib/restricted/boost/boost/detail/utf8_codecvt_facet.ipp
+++ b/contrib/restricted/boost/detail/include/boost/detail/utf8_codecvt_facet.ipp