aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2023-04-27 23:01:47 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2023-04-27 23:01:47 +0300
commit70266f0794f9afebbe908f8144fe18f7d8b1c6f4 (patch)
treef365f7673fa10ee9d091c018e1f6da3bc28c50c3
parent806a96c81a35a7dcbf6e732d4048254c4ac343b4 (diff)
downloadydb-70266f0794f9afebbe908f8144fe18f7d8b1c6f4.tar.gz
Update contrib/restricted/boost/multi_index to 1.82.0
-rw-r--r--contrib/restricted/boost/CMakeLists.linux-aarch64.txt7
-rw-r--r--contrib/restricted/boost/core/include/boost/core/serialization.hpp131
-rw-r--r--contrib/restricted/boost/endian/CMakeLists.linux-aarch64.txt21
-rw-r--r--contrib/restricted/boost/endian/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/foreach/CMakeLists.linux-aarch64.txt23
-rw-r--r--contrib/restricted/boost/foreach/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/multi_index/CMakeLists.darwin-x86_64.txt2
-rw-r--r--contrib/restricted/boost/multi_index/CMakeLists.linux-aarch64.txt2
-rw-r--r--contrib/restricted/boost/multi_index/CMakeLists.linux-x86_64.txt2
-rw-r--r--contrib/restricted/boost/multi_index/CMakeLists.windows-x86_64.txt2
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/archive_constructed.hpp10
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bad_archive_exception.hpp36
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bidir_node_iterator.hpp15
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bucket_array.hpp9
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_args.hpp4
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_iterator.hpp22
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_loader.hpp21
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_node_base.hpp9
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_saver.hpp10
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/is_transparent.hpp2
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/ord_index_impl.hpp25
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/safe_mode.hpp11
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/detail/serialization_version.hpp11
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/hashed_index.hpp26
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index/sequenced_index.hpp19
-rw-r--r--contrib/restricted/boost/multi_index/include/boost/multi_index_container.hpp57
-rw-r--r--contrib/restricted/boost/phoenix/CMakeLists.linux-aarch64.txt31
-rw-r--r--contrib/restricted/boost/phoenix/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/proto/CMakeLists.linux-aarch64.txt27
-rw-r--r--contrib/restricted/boost/proto/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/serialization/CMakeLists.linux-aarch64.txt91
-rw-r--r--contrib/restricted/boost/serialization/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/spirit/CMakeLists.linux-aarch64.txt46
-rw-r--r--contrib/restricted/boost/spirit/CMakeLists.txt4
-rw-r--r--contrib/restricted/boost/variant/CMakeLists.linux-aarch64.txt32
-rw-r--r--contrib/restricted/boost/variant/CMakeLists.txt4
36 files changed, 319 insertions, 413 deletions
diff --git a/contrib/restricted/boost/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/CMakeLists.linux-aarch64.txt
index f0f1472a53..c522e3b862 100644
--- a/contrib/restricted/boost/CMakeLists.linux-aarch64.txt
+++ b/contrib/restricted/boost/CMakeLists.linux-aarch64.txt
@@ -28,9 +28,7 @@ add_subdirectory(date_time)
add_subdirectory(describe)
add_subdirectory(detail)
add_subdirectory(dynamic_bitset)
-add_subdirectory(endian)
add_subdirectory(exception)
-add_subdirectory(foreach)
add_subdirectory(format)
add_subdirectory(function)
add_subdirectory(function_types)
@@ -51,20 +49,16 @@ add_subdirectory(mpl)
add_subdirectory(multi_index)
add_subdirectory(numeric_conversion)
add_subdirectory(optional)
-add_subdirectory(phoenix)
add_subdirectory(pool)
add_subdirectory(predef)
add_subdirectory(preprocessor)
add_subdirectory(program_options)
-add_subdirectory(proto)
add_subdirectory(random)
add_subdirectory(range)
add_subdirectory(ratio)
add_subdirectory(rational)
add_subdirectory(regex)
-add_subdirectory(serialization)
add_subdirectory(smart_ptr)
-add_subdirectory(spirit)
add_subdirectory(static_assert)
add_subdirectory(system)
add_subdirectory(thread)
@@ -76,6 +70,5 @@ add_subdirectory(type_traits)
add_subdirectory(typeof)
add_subdirectory(unordered)
add_subdirectory(utility)
-add_subdirectory(variant)
add_subdirectory(variant2)
add_subdirectory(winapi)
diff --git a/contrib/restricted/boost/core/include/boost/core/serialization.hpp b/contrib/restricted/boost/core/include/boost/core/serialization.hpp
new file mode 100644
index 0000000000..9c78c58287
--- /dev/null
+++ b/contrib/restricted/boost/core/include/boost/core/serialization.hpp
@@ -0,0 +1,131 @@
+#ifndef BOOST_CORE_SERIALIZATION_HPP_INCLUDED
+#define BOOST_CORE_SERIALIZATION_HPP_INCLUDED
+
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+// Copyright 2023 Peter Dimov
+// Distributed under the Boost Software License, Version 1.0.
+// https://www.boost.org/LICENSE_1_0.txt
+//
+// Utilities needed to implement serialization support
+// without including a Boost.Serialization header
+
+#include <boost/core/nvp.hpp>
+#include <cstddef>
+
+namespace boost
+{
+
+namespace serialization
+{
+
+// Forward declarations (needed for specializations)
+
+template<class T> struct version;
+
+class access;
+
+// Our own version_type replacement. This has to be in
+// the `serialization` namespace, because its only purpose
+// is to add `serialization` as an associated namespace.
+
+struct core_version_type
+{
+ unsigned int version_;
+
+ core_version_type( unsigned int version ): version_( version ) {}
+ operator unsigned int () const { return version_; }
+};
+
+} // namespace serialization
+
+namespace core
+{
+
+// nvp
+
+using serialization::nvp;
+using serialization::make_nvp;
+
+// split_free
+
+namespace detail
+{
+
+template<bool IsSaving> struct load_or_save_f;
+
+template<> struct load_or_save_f<true>
+{
+ template<class A, class T> void operator()( A& a, T& t, unsigned int v ) const
+ {
+ save( a, t, serialization::core_version_type( v ) );
+ }
+};
+
+template<> struct load_or_save_f<false>
+{
+ template<class A, class T> void operator()( A& a, T& t, unsigned int v ) const
+ {
+ load( a, t, serialization::core_version_type( v ) );
+ }
+};
+
+} // namespace detail
+
+template<class A, class T> inline void split_free( A& a, T& t, unsigned int v )
+{
+ detail::load_or_save_f< A::is_saving::value >()( a, t, v );
+}
+
+// split_member
+
+namespace detail
+{
+
+template<bool IsSaving, class Access = serialization::access> struct load_or_save_m;
+
+template<class Access> struct load_or_save_m<true, Access>
+{
+ template<class A, class T> void operator()( A& a, T const& t, unsigned int v ) const
+ {
+ Access::member_save( a, t, v );
+ }
+};
+
+template<class Access> struct load_or_save_m<false, Access>
+{
+ template<class A, class T> void operator()( A& a, T& t, unsigned int v ) const
+ {
+ Access::member_load( a, t, v );
+ }
+};
+
+} // namespace detail
+
+template<class A, class T> inline void split_member( A& a, T& t, unsigned int v )
+{
+ detail::load_or_save_m< A::is_saving::value >()( a, t, v );
+}
+
+// load_construct_data_adl
+
+template<class Ar, class T> void load_construct_data_adl( Ar& ar, T* t, unsigned int v )
+{
+ load_construct_data( ar, t, serialization::core_version_type( v ) );
+}
+
+// save_construct_data_adl
+
+template<class Ar, class T> void save_construct_data_adl( Ar& ar, T const* t, unsigned int v )
+{
+ save_construct_data( ar, t, serialization::core_version_type( v ) );
+}
+
+} // namespace core
+} // namespace boost
+
+#endif // #ifndef BOOST_CORE_SERIALIZATION_HPP_INCLUDED
diff --git a/contrib/restricted/boost/endian/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/endian/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 8a7f037fd7..0000000000
--- a/contrib/restricted/boost/endian/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# This file was generated 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-endian INTERFACE)
-target_include_directories(restricted-boost-endian INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/endian/include
-)
-target_link_libraries(restricted-boost-endian INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-config
- restricted-boost-core
- restricted-boost-static_assert
- restricted-boost-type_traits
-)
diff --git a/contrib/restricted/boost/endian/CMakeLists.txt b/contrib/restricted/boost/endian/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/endian/CMakeLists.txt
+++ b/contrib/restricted/boost/endian/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/foreach/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/foreach/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index f1173b51a9..0000000000
--- a/contrib/restricted/boost/foreach/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# This file was generated 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-foreach INTERFACE)
-target_include_directories(restricted-boost-foreach INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/foreach/include
-)
-target_link_libraries(restricted-boost-foreach INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-config
- restricted-boost-core
- restricted-boost-iterator
- restricted-boost-mpl
- restricted-boost-range
- restricted-boost-type_traits
-)
diff --git a/contrib/restricted/boost/foreach/CMakeLists.txt b/contrib/restricted/boost/foreach/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/foreach/CMakeLists.txt
+++ b/contrib/restricted/boost/foreach/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/multi_index/CMakeLists.darwin-x86_64.txt b/contrib/restricted/boost/multi_index/CMakeLists.darwin-x86_64.txt
index e8f6c61e6e..1d347b7ed1 100644
--- a/contrib/restricted/boost/multi_index/CMakeLists.darwin-x86_64.txt
+++ b/contrib/restricted/boost/multi_index/CMakeLists.darwin-x86_64.txt
@@ -18,13 +18,11 @@ target_link_libraries(restricted-boost-multi_index INTERFACE
restricted-boost-config
restricted-boost-container_hash
restricted-boost-core
- restricted-boost-foreach
restricted-boost-integer
restricted-boost-iterator
restricted-boost-move
restricted-boost-mpl
restricted-boost-preprocessor
- restricted-boost-serialization
restricted-boost-smart_ptr
restricted-boost-static_assert
restricted-boost-throw_exception
diff --git a/contrib/restricted/boost/multi_index/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/multi_index/CMakeLists.linux-aarch64.txt
index fb769ceb01..2d2cdecc46 100644
--- a/contrib/restricted/boost/multi_index/CMakeLists.linux-aarch64.txt
+++ b/contrib/restricted/boost/multi_index/CMakeLists.linux-aarch64.txt
@@ -19,13 +19,11 @@ target_link_libraries(restricted-boost-multi_index INTERFACE
restricted-boost-config
restricted-boost-container_hash
restricted-boost-core
- restricted-boost-foreach
restricted-boost-integer
restricted-boost-iterator
restricted-boost-move
restricted-boost-mpl
restricted-boost-preprocessor
- restricted-boost-serialization
restricted-boost-smart_ptr
restricted-boost-static_assert
restricted-boost-throw_exception
diff --git a/contrib/restricted/boost/multi_index/CMakeLists.linux-x86_64.txt b/contrib/restricted/boost/multi_index/CMakeLists.linux-x86_64.txt
index fb769ceb01..2d2cdecc46 100644
--- a/contrib/restricted/boost/multi_index/CMakeLists.linux-x86_64.txt
+++ b/contrib/restricted/boost/multi_index/CMakeLists.linux-x86_64.txt
@@ -19,13 +19,11 @@ target_link_libraries(restricted-boost-multi_index INTERFACE
restricted-boost-config
restricted-boost-container_hash
restricted-boost-core
- restricted-boost-foreach
restricted-boost-integer
restricted-boost-iterator
restricted-boost-move
restricted-boost-mpl
restricted-boost-preprocessor
- restricted-boost-serialization
restricted-boost-smart_ptr
restricted-boost-static_assert
restricted-boost-throw_exception
diff --git a/contrib/restricted/boost/multi_index/CMakeLists.windows-x86_64.txt b/contrib/restricted/boost/multi_index/CMakeLists.windows-x86_64.txt
index e8f6c61e6e..1d347b7ed1 100644
--- a/contrib/restricted/boost/multi_index/CMakeLists.windows-x86_64.txt
+++ b/contrib/restricted/boost/multi_index/CMakeLists.windows-x86_64.txt
@@ -18,13 +18,11 @@ target_link_libraries(restricted-boost-multi_index INTERFACE
restricted-boost-config
restricted-boost-container_hash
restricted-boost-core
- restricted-boost-foreach
restricted-boost-integer
restricted-boost-iterator
restricted-boost-move
restricted-boost-mpl
restricted-boost-preprocessor
- restricted-boost-serialization
restricted-boost-smart_ptr
restricted-boost-static_assert
restricted-boost-throw_exception
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/archive_constructed.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/archive_constructed.hpp
index 43d3687e1a..0b94d1f05e 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/archive_constructed.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/archive_constructed.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -16,7 +16,7 @@
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <boost/core/no_exceptions_support.hpp>
#include <boost/core/noncopyable.hpp>
-#include <boost/serialization/serialization.hpp>
+#include <boost/core/serialization.hpp>
#include <boost/type_traits/aligned_storage.hpp>
#include <boost/type_traits/alignment_of.hpp>
@@ -34,7 +34,7 @@ struct archive_constructed:private noncopyable
template<class Archive>
archive_constructed(Archive& ar,const unsigned int version)
{
- serialization::load_construct_data_adl(ar,&get(),version);
+ core::load_construct_data_adl(ar,&get(),version);
BOOST_TRY{
ar>>get();
}
@@ -48,9 +48,9 @@ struct archive_constructed:private noncopyable
template<class Archive>
archive_constructed(const char* name,Archive& ar,const unsigned int version)
{
- serialization::load_construct_data_adl(ar,&get(),version);
+ core::load_construct_data_adl(ar,&get(),version);
BOOST_TRY{
- ar>>serialization::make_nvp(name,get());
+ ar>>core::make_nvp(name,get());
}
BOOST_CATCH(...){
(&get())->~T();
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bad_archive_exception.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bad_archive_exception.hpp
new file mode 100644
index 0000000000..2db4a39a76
--- /dev/null
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bad_archive_exception.hpp
@@ -0,0 +1,36 @@
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
+ * 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/multi_index for library home page.
+ */
+
+#ifndef BOOST_MULTI_INDEX_DETAIL_BAD_ARCHIVE_EXCEPTION_HPP
+#define BOOST_MULTI_INDEX_DETAIL_BAD_ARCHIVE_EXCEPTION_HPP
+
+#if defined(_MSC_VER)
+#pragma once
+#endif
+
+#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
+#include <stdexcept>
+
+namespace boost{
+
+namespace multi_index{
+
+namespace detail{
+
+struct bad_archive_exception:std::runtime_error
+{
+ bad_archive_exception():std::runtime_error("Invalid or corrupted archive"){}
+};
+
+} /* namespace multi_index::detail */
+
+} /* namespace multi_index */
+
+} /* namespace boost */
+
+#endif
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bidir_node_iterator.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bidir_node_iterator.hpp
index adfb77de6d..5cc49e2037 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bidir_node_iterator.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bidir_node_iterator.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2018 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -17,8 +17,7 @@
#include <boost/operators.hpp>
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
+#include <boost/core/serialization.hpp>
#endif
namespace boost{
@@ -67,7 +66,11 @@ public:
* see explanation in safe_mode_iterator notes in safe_mode.hpp.
*/
- BOOST_SERIALIZATION_SPLIT_MEMBER()
+ template<class Archive>
+ void serialize(Archive& ar,const unsigned int version)
+ {
+ core::split_member(ar,*this,version);
+ }
typedef typename Node::base_type node_base_type;
@@ -75,14 +78,14 @@ public:
void save(Archive& ar,const unsigned int)const
{
node_base_type* bnode=node;
- ar<<serialization::make_nvp("pointer",bnode);
+ ar<<core::make_nvp("pointer",bnode);
}
template<class Archive>
void load(Archive& ar,const unsigned int)
{
node_base_type* bnode;
- ar>>serialization::make_nvp("pointer",bnode);
+ ar>>core::make_nvp("pointer",bnode);
node=static_cast<Node*>(bnode);
}
#endif
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bucket_array.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bucket_array.hpp
index 04392d1899..5d9efb4ec3 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bucket_array.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/bucket_array.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -27,8 +27,8 @@
#include <limits.h>
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/access.hpp>
+#include <boost/core/serialization.hpp>
+#include <boost/multi_index/detail/bad_archive_exception.hpp>
#include <boost/throw_exception.hpp>
#endif
@@ -236,8 +236,7 @@ inline void load_construct_data(
Archive&,boost::multi_index::detail::bucket_array<Allocator>*,
const unsigned int)
{
- throw_exception(
- archive::archive_exception(archive::archive_exception::other_exception));
+ throw_exception(bad_archive_exception());
}
#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_args.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_args.hpp
index 81902f5a4a..c711b31488 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_args.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_args.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2013 Joaquin M Lopez Munoz.
+/* Copyright 2003-2022 Joaquin M Lopez Munoz.
* 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)
@@ -14,7 +14,7 @@
#endif
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/functional/hash.hpp>
+#include <boost/container_hash/hash.hpp>
#include <boost/mpl/aux_/na.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_iterator.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_iterator.hpp
index f5b0d0e379..0bbcbdf905 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_iterator.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/hash_index_iterator.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2020 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -17,9 +17,7 @@
#include <boost/operators.hpp>
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
+#include <boost/core/serialization.hpp>
#endif
namespace boost{
@@ -67,7 +65,11 @@ public:
* see explanation in safe_mode_iterator notes in safe_mode.hpp.
*/
- BOOST_SERIALIZATION_SPLIT_MEMBER()
+ template<class Archive>
+ void serialize(Archive& ar,const unsigned int version)
+ {
+ core::split_member(ar,*this,version);
+ }
typedef typename Node::base_type node_base_type;
@@ -75,7 +77,7 @@ public:
void save(Archive& ar,const unsigned int)const
{
node_base_type* bnode=node;
- ar<<serialization::make_nvp("pointer",bnode);
+ ar<<core::make_nvp("pointer",bnode);
}
template<class Archive>
@@ -89,11 +91,11 @@ public:
Archive& ar,const unsigned int version,hashed_index_global_iterator_tag)
{
node_base_type* bnode;
- ar>>serialization::make_nvp("pointer",bnode);
+ ar>>core::make_nvp("pointer",bnode);
node=static_cast<Node*>(bnode);
if(version<1){
BucketArray* throw_away; /* consume unused ptr */
- ar>>serialization::make_nvp("pointer",throw_away);
+ ar>>core::make_nvp("pointer",throw_away);
}
}
@@ -102,11 +104,11 @@ public:
Archive& ar,const unsigned int version,hashed_index_local_iterator_tag)
{
node_base_type* bnode;
- ar>>serialization::make_nvp("pointer",bnode);
+ ar>>core::make_nvp("pointer",bnode);
node=static_cast<Node*>(bnode);
if(version<1){
BucketArray* buckets;
- ar>>serialization::make_nvp("pointer",buckets);
+ ar>>core::make_nvp("pointer",buckets);
if(buckets&&node&&node->impl()==buckets->end()->prior()){
/* end local_iterators used to point to end node, now they are null */
node=0;
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_loader.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_loader.hpp
index cab79f0a78..93e0934dd0 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_loader.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_loader.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -15,11 +15,11 @@
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <algorithm>
-#include <boost/archive/archive_exception.hpp>
#include <boost/core/noncopyable.hpp>
+#include <boost/core/serialization.hpp>
#include <boost/multi_index/detail/auto_space.hpp>
+#include <boost/multi_index/detail/bad_archive_exception.hpp>
#include <boost/multi_index/detail/raw_ptr.hpp>
-#include <boost/serialization/nvp.hpp>
#include <boost/throw_exception.hpp>
#include <cstddef>
@@ -30,7 +30,8 @@ namespace multi_index{
namespace detail{
/* Counterpart of index_saver (check index_saver.hpp for serialization
- * details.)* multi_index_container is in charge of supplying the info about
+ * details.)
+ * multi_index_container is in charge of supplying the info about
* the base sequence, and each index can subsequently load itself using the
* const interface of index_loader.
*/
@@ -47,14 +48,14 @@ public:
template<class Archive>
void add(Node* node,Archive& ar,const unsigned int)
{
- ar>>serialization::make_nvp("position",*node);
+ ar>>core::make_nvp("position",*node);
entries()[n++]=node;
}
template<class Archive>
void add_track(Node* node,Archive& ar,const unsigned int)
{
- ar>>serialization::make_nvp("position",*node);
+ ar>>core::make_nvp("position",*node);
}
/* A rearranger is passed two nodes, and is expected to
@@ -102,7 +103,7 @@ private:
FinalNode* unchecked_load_node(Archive& ar)const
{
Node* node=0;
- ar>>serialization::make_nvp("pointer",node);
+ ar>>core::make_nvp("pointer",node);
return static_cast<FinalNode*>(node);
}
@@ -110,7 +111,7 @@ private:
FinalNode* load_node(Archive& ar)const
{
Node* node=0;
- ar>>serialization::make_nvp("pointer",node);
+ ar>>core::make_nvp("pointer",node);
check_node(node);
return static_cast<FinalNode*>(node);
}
@@ -118,9 +119,7 @@ private:
void check_node(Node* node)const
{
if(node!=0&&!std::binary_search(entries(),entries()+size_,node)){
- throw_exception(
- archive::archive_exception(
- archive::archive_exception::other_exception));
+ throw_exception(bad_archive_exception());
}
}
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_node_base.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_node_base.hpp
index 1a1f0cae4b..d3229df1bf 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_node_base.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_node_base.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2016 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -18,8 +18,8 @@
#include <boost/type_traits/alignment_of.hpp>
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/archive/archive_exception.hpp>
-#include <boost/serialization/access.hpp>
+#include <boost/core/serialization.hpp>
+#include <boost/multi_index/detail/bad_archive_exception.hpp>
#include <boost/throw_exception.hpp>
#endif
@@ -117,8 +117,7 @@ inline void load_construct_data(
Archive&,boost::multi_index::detail::index_node_base<Value,Allocator>*,
const unsigned int)
{
- throw_exception(
- archive::archive_exception(archive::archive_exception::other_exception));
+ throw_exception(bad_archive_exception());
}
#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_saver.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_saver.hpp
index 0f7b6efef1..7126169a45 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_saver.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/index_saver.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -16,7 +16,7 @@
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <boost/multi_index/detail/index_matcher.hpp>
#include <boost/core/noncopyable.hpp>
-#include <boost/serialization/nvp.hpp>
+#include <boost/core/serialization.hpp>
#include <cstddef>
namespace boost{
@@ -43,14 +43,14 @@ public:
template<class Archive>
void add(Node* node,Archive& ar,const unsigned int)
{
- ar<<serialization::make_nvp("position",*node);
+ ar<<core::make_nvp("position",*node);
alg.add(node);
}
template<class Archive>
void add_track(Node* node,Archive& ar,const unsigned int)
{
- ar<<serialization::make_nvp("position",*node);
+ ar<<core::make_nvp("position",*node);
}
template<typename IndexIterator,class Archive>
@@ -120,7 +120,7 @@ private:
template<typename Archive>
static void save_node(Node* node,Archive& ar)
{
- ar<<serialization::make_nvp("pointer",node);
+ ar<<core::make_nvp("pointer",node);
}
index_matcher::algorithm<Node,Allocator> alg;
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/is_transparent.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/is_transparent.hpp
index 7fd924a8e2..4fb50187af 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/is_transparent.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/is_transparent.hpp
@@ -45,13 +45,13 @@ struct is_transparent:mpl::true_{};
#include <boost/mpl/and.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/or.hpp>
+#include <boost/type_traits/declval.hpp>
#include <boost/type_traits/function_traits.hpp>
#include <boost/type_traits/is_class.hpp>
#include <boost/type_traits/is_final.hpp>
#include <boost/type_traits/is_function.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/utility/declval.hpp>
namespace boost{
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/ord_index_impl.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/ord_index_impl.hpp
index 93d47df018..0af68f9543 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/ord_index_impl.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/ord_index_impl.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -47,7 +47,6 @@
#include <boost/core/no_exceptions_support.hpp>
#include <boost/core/ref.hpp>
#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
#include <boost/iterator/reverse_iterator.hpp>
#include <boost/move/core.hpp>
#include <boost/move/utility_core.hpp>
@@ -80,8 +79,8 @@
#endif
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/archive/archive_exception.hpp>
#include <boost/bind/bind.hpp>
+#include <boost/multi_index/detail/bad_archive_exception.hpp>
#include <boost/multi_index/detail/duplicates_iterator.hpp>
#include <boost/throw_exception.hpp>
#endif
@@ -1513,9 +1512,7 @@ private:
}
else if(comp_(key(x->value()),key(position->value()))){
/* inconsistent rearrangement */
- throw_exception(
- archive::archive_exception(
- archive::archive_exception::other_exception));
+ throw_exception(bad_archive_exception());
}
else index_node_type::increment(position);
@@ -1727,16 +1724,22 @@ void swap(
/* Boost.Foreach compatibility */
+namespace boost{
+namespace foreach{
+
+template<typename>
+struct is_noncopyable;
+
template<
typename KeyFromValue,typename Compare,
typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
>
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
+struct is_noncopyable<
boost::multi_index::detail::ordered_index<
- KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>*&,
- boost_foreach_argument_dependent_lookup_hack)
-{
- return 0;
+ KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>
+>:boost::mpl::true_{};
+
+}
}
#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/safe_mode.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/safe_mode.hpp
index 0ba6b44835..b3fed3dcc5 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/safe_mode.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/safe_mode.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2022 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -127,8 +127,7 @@
#include <boost/type_traits/is_same.hpp>
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
+#include <boost/core/serialization.hpp>
#endif
#if defined(BOOST_HAS_THREADS)
@@ -556,7 +555,11 @@ private:
friend class boost::serialization::access;
- BOOST_SERIALIZATION_SPLIT_MEMBER()
+ template<class Archive>
+ void serialize(Archive& ar,const unsigned int version)
+ {
+ core::split_member(ar,*this,version);
+ }
template<class Archive>
void save(Archive& ar,const unsigned int version)const
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/serialization_version.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/serialization_version.hpp
index ccd8bb4f79..1d5f0c8055 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/serialization_version.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/detail/serialization_version.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2013 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -14,8 +14,7 @@
#endif
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
+#include <boost/core/serialization.hpp>
namespace boost{
@@ -42,7 +41,11 @@ struct serialization_version
private:
friend class boost::serialization::access;
- BOOST_SERIALIZATION_SPLIT_MEMBER()
+ template<class Archive>
+ void serialize(Archive& ar,const unsigned int version)
+ {
+ core::split_member(ar,*this,version);
+ }
template<class Archive>
void save(Archive&,const unsigned int)const{}
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/hashed_index.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/hashed_index.hpp
index 71543d0c79..5100d3c398 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/hashed_index.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/hashed_index.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2021 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -19,7 +19,6 @@
#include <boost/core/addressof.hpp>
#include <boost/core/no_exceptions_support.hpp>
#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
#include <boost/limits.hpp>
#include <boost/move/core.hpp>
#include <boost/move/utility_core.hpp>
@@ -55,7 +54,7 @@
#endif
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/nvp.hpp>
+#include <boost/core/serialization.hpp>
#endif
#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
@@ -1238,14 +1237,14 @@ BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
void save_(
Archive& ar,const unsigned int version,const index_saver_type& sm)const
{
- ar<<serialization::make_nvp("position",buckets);
+ ar<<core::make_nvp("position",buckets);
super::save_(ar,version,sm);
}
template<typename Archive>
void load_(Archive& ar,const unsigned int version,const index_loader_type& lm)
{
- ar>>serialization::make_nvp("position",buckets);
+ ar>>core::make_nvp("position",buckets);
super::load_(ar,version,lm);
}
#endif
@@ -1890,16 +1889,21 @@ struct hashed_non_unique
/* Boost.Foreach compatibility */
+namespace boost{
+namespace foreach{
+
+template<typename>
+struct is_noncopyable;
+
template<
typename KeyFromValue,typename Hash,typename Pred,
typename SuperMeta,typename TagList,typename Category
>
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
- boost::multi_index::detail::hashed_index<
- KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>*&,
- boost_foreach_argument_dependent_lookup_hack)
-{
- return 0;
+struct is_noncopyable<boost::multi_index::detail::hashed_index<
+ KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>
+>:boost::mpl::true_{};
+
+}
}
#undef BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index/sequenced_index.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index/sequenced_index.hpp
index f12213e672..770a6ce268 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index/sequenced_index.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index/sequenced_index.hpp
@@ -1,4 +1,4 @@
-/* Copyright 2003-2021 Joaquin M Lopez Munoz.
+/* Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -19,7 +19,6 @@
#include <boost/core/addressof.hpp>
#include <boost/core/no_exceptions_support.hpp>
#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
#include <boost/iterator/reverse_iterator.hpp>
#include <boost/move/core.hpp>
#include <boost/move/utility_core.hpp>
@@ -1238,12 +1237,18 @@ struct sequenced
/* Boost.Foreach compatibility */
+namespace boost{
+namespace foreach{
+
+template<typename>
+struct is_noncopyable;
+
template<typename SuperMeta,typename TagList>
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
- boost::multi_index::detail::sequenced_index<SuperMeta,TagList>*&,
- boost_foreach_argument_dependent_lookup_hack)
-{
- return 0;
+struct is_noncopyable<
+ boost::multi_index::detail::sequenced_index<SuperMeta,TagList>
+>:boost::mpl::true_{};
+
+}
}
#undef BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT
diff --git a/contrib/restricted/boost/multi_index/include/boost/multi_index_container.hpp b/contrib/restricted/boost/multi_index/include/boost/multi_index_container.hpp
index 9840a65ef0..ac7375439b 100644
--- a/contrib/restricted/boost/multi_index/include/boost/multi_index_container.hpp
+++ b/contrib/restricted/boost/multi_index/include/boost/multi_index_container.hpp
@@ -1,6 +1,6 @@
/* Multiply indexed container.
*
- * Copyright 2003-2021 Joaquin M Lopez Munoz.
+ * Copyright 2003-2023 Joaquin M Lopez Munoz.
* 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)
@@ -53,13 +53,18 @@
#endif
#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
+#include <boost/core/serialization.hpp>
#include <boost/multi_index/detail/archive_constructed.hpp>
+#include <boost/multi_index/detail/bad_archive_exception.hpp>
#include <boost/multi_index/detail/serialization_version.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/version.hpp>
#include <boost/throw_exception.hpp>
+
+#if defined(BOOST_MULTI_INDEX_ENABLE_SERIALIZATION_COMPATIBILITY_V2)
+#define BOOST_MULTI_INDEX_BLOCK_BOOSTDEP_HEADER \
+ <boost/serialization/collection_size_type.hpp>
+#include BOOST_MULTI_INDEX_BLOCK_BOOSTDEP_HEADER
+#undef BOOST_MULTI_INDEX_BLOCK_BOOSTDEP_HEADER
+#endif
#endif
#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
@@ -1102,7 +1107,11 @@ BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
friend class boost::serialization::access;
- BOOST_SERIALIZATION_SPLIT_MEMBER()
+ template<class Archive>
+ void serialize(Archive& ar,const unsigned int version)
+ {
+ core::split_member(ar,*this,version);
+ }
typedef typename super::index_saver_type index_saver_type;
typedef typename super::index_loader_type index_loader_type;
@@ -1110,15 +1119,15 @@ BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
template<class Archive>
void save(Archive& ar,const unsigned int version)const
{
- const serialization::collection_size_type s(size_());
+ const unsigned long s(size_());
const detail::serialization_version<value_type> value_version;
- ar<<serialization::make_nvp("count",s);
- ar<<serialization::make_nvp("value_version",value_version);
+ ar<<core::make_nvp("count",s);
+ ar<<core::make_nvp("value_version",value_version);
index_saver_type sm(bfm_allocator::member,s);
for(iterator it=super::begin(),it_end=super::end();it!=it_end;++it){
- serialization::save_construct_data_adl(
+ core::save_construct_data_adl(
ar,boost::addressof(*it),value_version);
ar<<serialization::make_nvp("item",*it);
sm.add(it.get_node(),ar,version);
@@ -1134,21 +1143,30 @@ BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
BOOST_MULTI_INDEX_CHECK_INVARIANT;
clear_();
- serialization::collection_size_type s;
+ unsigned long s;
detail::serialization_version<value_type> value_version;
if(version<1){
std::size_t sz;
- ar>>serialization::make_nvp("count",sz);
- s=static_cast<serialization::collection_size_type>(sz);
+ ar>>core::make_nvp("count",sz);
+ s=static_cast<unsigned long>(sz);
+ }
+ else if(version<3){
+#if defined(BOOST_MULTI_INDEX_ENABLE_SERIALIZATION_COMPATIBILITY_V2)
+ serialization::collection_size_type csz;
+ ar>>core::make_nvp("count",csz);
+ s=static_cast<unsigned long>(csz);
+#else
+ ar>>core::make_nvp("count",s);
+#endif
}
else{
- ar>>serialization::make_nvp("count",s);
+ ar>>core::make_nvp("count",s);
}
if(version<2){
value_version=0;
}
else{
- ar>>serialization::make_nvp("value_version",value_version);
+ ar>>core::make_nvp("value_version",value_version);
}
index_loader_type lm(bfm_allocator::member,s);
@@ -1157,9 +1175,7 @@ BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
detail::archive_constructed<Value> value("item",ar,value_version);
std::pair<final_node_type*,bool> p=insert_rv_(
value.get(),super::end().get_node());
- if(!p.second)throw_exception(
- archive::archive_exception(
- archive::archive_exception::other_exception));
+ if(!p.second)throw_exception(detail::bad_archive_exception());
ar.reset_object_address(
boost::addressof(p.first->value()),boost::addressof(value.get()));
lm.add(p.first,ar,version);
@@ -1550,6 +1566,9 @@ void swap(
/* class version = 1 : we now serialize the size through
* boost::serialization::collection_size_type.
* class version = 2 : proper use of {save|load}_construct_data.
+ * class version = 3 : dropped boost::serialization::collection_size_type
+ * in favor of unsigned long --this allows us to provide serialization
+ * support without including any header from Boost.Serialization.
*/
namespace serialization {
@@ -1558,7 +1577,7 @@ struct version<
boost::multi_index_container<Value,IndexSpecifierList,Allocator>
>
{
- BOOST_STATIC_CONSTANT(int,value=2);
+ BOOST_STATIC_CONSTANT(int,value=3);
};
} /* namespace serialization */
#endif
diff --git a/contrib/restricted/boost/phoenix/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/phoenix/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 80062339a3..0000000000
--- a/contrib/restricted/boost/phoenix/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# This file was generated 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-phoenix INTERFACE)
-target_include_directories(restricted-boost-phoenix INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/phoenix/include
-)
-target_link_libraries(restricted-boost-phoenix INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-assert
- restricted-boost-bind
- restricted-boost-config
- restricted-boost-core
- restricted-boost-function
- restricted-boost-fusion
- restricted-boost-mpl
- restricted-boost-predef
- restricted-boost-preprocessor
- restricted-boost-proto
- restricted-boost-range
- restricted-boost-smart_ptr
- restricted-boost-type_traits
- restricted-boost-utility
-)
diff --git a/contrib/restricted/boost/phoenix/CMakeLists.txt b/contrib/restricted/boost/phoenix/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/phoenix/CMakeLists.txt
+++ b/contrib/restricted/boost/phoenix/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/proto/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/proto/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 8fa3b296b2..0000000000
--- a/contrib/restricted/boost/proto/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-
-# This file was generated 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-proto INTERFACE)
-target_include_directories(restricted-boost-proto INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/proto/include
-)
-target_link_libraries(restricted-boost-proto INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-config
- restricted-boost-core
- restricted-boost-fusion
- restricted-boost-mpl
- restricted-boost-preprocessor
- restricted-boost-range
- restricted-boost-static_assert
- restricted-boost-type_traits
- restricted-boost-typeof
- restricted-boost-utility
-)
diff --git a/contrib/restricted/boost/proto/CMakeLists.txt b/contrib/restricted/boost/proto/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/proto/CMakeLists.txt
+++ b/contrib/restricted/boost/proto/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/serialization/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/serialization/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 43d01c0ab0..0000000000
--- a/contrib/restricted/boost/serialization/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-
-# This file was generated 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-serialization)
-target_compile_options(restricted-boost-serialization PRIVATE
- $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
-)
-target_include_directories(restricted-boost-serialization PUBLIC
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/include
-)
-target_link_libraries(restricted-boost-serialization PUBLIC
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-array
- restricted-boost-assert
- restricted-boost-config
- restricted-boost-core
- restricted-boost-detail
- restricted-boost-function
- restricted-boost-integer
- restricted-boost-io
- restricted-boost-iterator
- restricted-boost-move
- restricted-boost-mpl
- restricted-boost-optional
- restricted-boost-predef
- restricted-boost-preprocessor
- restricted-boost-smart_ptr
- restricted-boost-spirit
- restricted-boost-static_assert
- restricted-boost-type_traits
- restricted-boost-unordered
- restricted-boost-utility
- restricted-boost-variant
-)
-target_sources(restricted-boost-serialization PRIVATE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/archive_exception.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_archive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_iserializer.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_oserializer.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_pointer_iserializer.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_pointer_oserializer.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_serializer_map.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_text_iprimitive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_text_oprimitive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_text_wiprimitive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_text_woprimitive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/basic_xml_archive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/binary_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/binary_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/binary_wiarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/binary_woarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/codecvt_null.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/extended_type_info.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/extended_type_info_no_rtti.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/extended_type_info_typeid.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_binary_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_binary_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_text_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_text_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_text_wiarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_text_woarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_xml_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_xml_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_xml_wiarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/polymorphic_xml_woarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/stl_port.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/text_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/text_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/text_wiarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/text_woarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/utf8_codecvt_facet.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/void_cast.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_archive_exception.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_grammar.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_iarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_oarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_wgrammar.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_wiarchive.cpp
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/serialization/src/xml_woarchive.cpp
-)
diff --git a/contrib/restricted/boost/serialization/CMakeLists.txt b/contrib/restricted/boost/serialization/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/serialization/CMakeLists.txt
+++ b/contrib/restricted/boost/serialization/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/spirit/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/spirit/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 01948379bb..0000000000
--- a/contrib/restricted/boost/spirit/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-
-# This file was generated 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-spirit INTERFACE)
-target_include_directories(restricted-boost-spirit INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/spirit/include
-)
-target_link_libraries(restricted-boost-spirit INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-array
- restricted-boost-assert
- restricted-boost-config
- restricted-boost-core
- restricted-boost-endian
- restricted-boost-function
- restricted-boost-function_types
- restricted-boost-fusion
- restricted-boost-integer
- restricted-boost-io
- restricted-boost-iterator
- restricted-boost-move
- restricted-boost-mpl
- restricted-boost-optional
- restricted-boost-phoenix
- restricted-boost-pool
- restricted-boost-preprocessor
- restricted-boost-proto
- restricted-boost-range
- restricted-boost-regex
- restricted-boost-smart_ptr
- restricted-boost-static_assert
- restricted-boost-thread
- restricted-boost-throw_exception
- restricted-boost-type_traits
- restricted-boost-typeof
- restricted-boost-unordered
- restricted-boost-utility
- restricted-boost-variant
-)
diff --git a/contrib/restricted/boost/spirit/CMakeLists.txt b/contrib/restricted/boost/spirit/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/spirit/CMakeLists.txt
+++ b/contrib/restricted/boost/spirit/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)
diff --git a/contrib/restricted/boost/variant/CMakeLists.linux-aarch64.txt b/contrib/restricted/boost/variant/CMakeLists.linux-aarch64.txt
deleted file mode 100644
index 051a57fd90..0000000000
--- a/contrib/restricted/boost/variant/CMakeLists.linux-aarch64.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# This file was generated 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-variant INTERFACE)
-target_include_directories(restricted-boost-variant INTERFACE
- ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/variant/include
-)
-target_link_libraries(restricted-boost-variant INTERFACE
- contrib-libs-linux-headers
- contrib-libs-cxxsupp
- restricted-boost-assert
- restricted-boost-bind
- restricted-boost-config
- restricted-boost-container_hash
- restricted-boost-core
- restricted-boost-detail
- restricted-boost-integer
- restricted-boost-move
- restricted-boost-mpl
- restricted-boost-preprocessor
- restricted-boost-static_assert
- restricted-boost-throw_exception
- restricted-boost-type_index
- restricted-boost-type_traits
- restricted-boost-utility
-)
diff --git a/contrib/restricted/boost/variant/CMakeLists.txt b/contrib/restricted/boost/variant/CMakeLists.txt
index f8b31df0c1..3bc235519c 100644
--- a/contrib/restricted/boost/variant/CMakeLists.txt
+++ b/contrib/restricted/boost/variant/CMakeLists.txt
@@ -6,9 +6,7 @@
# original buildsystem will not be accepted.
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA)
- include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
include(CMakeLists.darwin-x86_64.txt)
elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA)
include(CMakeLists.windows-x86_64.txt)