update boost

This commit is contained in:
2023-11-24 12:56:13 -06:00
parent cfc99971af
commit 19d727037a
9260 changed files with 849256 additions and 299957 deletions

View File

@@ -16,7 +16,7 @@
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
// serialization.hpp: interface for serialization system.
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
// Use, modification and distribution is 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)
@@ -24,7 +24,7 @@
// See http://www.boost.org for updates, documentation, and revision history.
//////////////////////////////////////////////////////////////////////
// public interface to serialization.
// public interface to serialization.
/////////////////////////////////////////////////////////////////////////////
// layer 0 - intrusive verison
@@ -45,15 +45,6 @@
/////////////////////////////////////////////////////////////////////////////
// layer 2 - default implementation of non-intrusive serialization.
//
// note the usage of function overloading to compensate that C++ does not
// currently support Partial Template Specialization for function templates
// We have declared the version number as "const unsigned long".
// Overriding templates for specific data types should declare the version
// number as "const unsigned int". Template matching will first be applied
// to functions with the same version types - that is the overloads.
// If there is no declared function prototype that matches, the second argument
// will be converted to "const unsigned long" and a match will be made with
// one of the default template functions below.
namespace boost {
namespace serialization {
@@ -71,8 +62,8 @@ inline void serialize(
// save data required for construction
template<class Archive, class T>
inline void save_construct_data(
Archive & /*ar*/,
const T * /*t*/,
Archive & /*ar*/,
const T * /*t*/,
const unsigned int /*file_version */
){
// default is to save no data because default constructor
@@ -82,8 +73,8 @@ inline void save_construct_data(
// load data required for construction and invoke constructor in place
template<class Archive, class T>
inline void load_construct_data(
Archive & /*ar*/,
T * t,
Archive & /*ar*/,
T * t,
const unsigned int /*file_version*/
){
// default just uses the default constructor. going
@@ -98,10 +89,10 @@ inline void load_construct_data(
//
// on compilers which don't implement ADL. only the current namespace
// i.e. boost::serialization will be searched.
//
//
// on compilers which DO implement ADL
// serialize overrides can be in any of the following
//
//
// 1) same namepace as Archive
// 2) same namespace as T
// 3) boost::serialization
@@ -110,37 +101,29 @@ inline void load_construct_data(
template<class Archive, class T>
inline void serialize_adl(
Archive & ar,
T & t,
Archive & ar,
T & t,
const unsigned int file_version
){
// note usage of function overloading to delay final resolution
// until the point of instantiation. This works around the two-phase
// lookup "feature" which inhibits redefintion of a default function
// template implementation. Due to Robert Ramey
//
// Note that this trick generates problems for compiles which don't support
// PFTO, suppress it here. As far as we know, there are no compilers
// which fail to support PFTO while supporting two-phase lookup.
const version_type v(file_version);
serialize(ar, t, v);
}
template<class Archive, class T>
inline void save_construct_data_adl(
Archive & ar,
const T * t,
Archive & ar,
const T * t,
const unsigned int file_version
){
// see above
const version_type v(file_version);
save_construct_data(ar, t, v);
}
template<class Archive, class T>
inline void load_construct_data_adl(
Archive & ar,
T * t,
Archive & ar,
T * t,
const unsigned int file_version
){
// see above comment