]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/serialization/serialization.hpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / boost / serialization / serialization.hpp
index a4d04723c759d7665beab6c6fc350bb6582f200d..f19b377c07af2fdc9ca5696f535a6235a63e27b1 100644 (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
 // 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".  
+// 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.  
+// 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 
+// will be converted to "const unsigned long" and a match will be made with
 // one of the default template functions below.
 
 namespace boost {
@@ -71,8 +71,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 +82,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 +98,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 +110,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