summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/serialization/nvp.hpp')
-rw-r--r--3rdParty/Boost/src/boost/serialization/nvp.hpp144
1 files changed, 0 insertions, 144 deletions
diff --git a/3rdParty/Boost/src/boost/serialization/nvp.hpp b/3rdParty/Boost/src/boost/serialization/nvp.hpp
deleted file mode 100644
index 2d7f4ed..0000000
--- a/3rdParty/Boost/src/boost/serialization/nvp.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef BOOST_SERIALIZATION_NVP_HPP
-#define BOOST_SERIALIZATION_NVP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// nvp.hpp: interface for serialization system.
-
-// (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)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#include <utility>
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-// supress noise
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/traits.hpp>
-#include <boost/serialization/wrapper.hpp>
-
-namespace boost {
-namespace serialization {
-
-template<class T>
-struct nvp :
- public std::pair<const char *, T *>,
- public wrapper_traits<const nvp< T > >
-{
- explicit nvp(const char * name_, T & t) :
- // note: redundant cast works around borland issue
- // note: added _ to suppress useless gcc warning
- std::pair<const char *, T *>(name_, (T*)(& t))
- {}
- nvp(const nvp & rhs) :
- // note: redundant cast works around borland issue
- std::pair<const char *, T *>(rhs.first, (T*)rhs.second)
- {}
-
- const char * name() const {
- return this->first;
- }
- T & value() const {
- return *(this->second);
- }
-
- const T & const_value() const {
- return *(this->second);
- }
-
- // True64 compiler complains with a warning about the use of
- // the name "Archive" hiding some higher level usage. I'm sure this
- // is an error but I want to accomodated as it generates a long warning
- // listing and might be related to a lot of test failures.
- // default treatment for name-value pairs. The name is
- // just discarded and only the value is serialized.
- template<class Archivex>
- void save(
- Archivex & ar,
- const unsigned int /* file_version */
- ) const {
- // CodeWarrior 8.x can't seem to resolve the << op for a rhs of "const T *"
- ar.operator<<(const_value());
- }
- template<class Archivex>
- void load(
- Archivex & ar,
- const unsigned int /* file_version */
- ){
- // CodeWarrior 8.x can't seem to resolve the >> op for a rhs of "const T *"
- ar.operator>>(value());
- }
- BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-template<class T>
-inline
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-const
-#endif
-nvp< T > make_nvp(const char * name, T & t){
- return nvp< T >(name, t);
-}
-
-// to maintain efficiency and portability, we want to assign
-// specific serialization traits to all instances of this wrappers.
-// we can't strait forward method below as it depends upon
-// Partial Template Specialization and doing so would mean that wrappers
-// wouldn't be treated the same on different platforms. This would
-// break archive portability. Leave this here as reminder not to use it !!!
-#if 0 // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <class T>
-struct implementation_level<nvp< T > >
-{
- typedef mpl::integral_c_tag tag;
- typedef mpl::int_<object_serializable> type;
- BOOST_STATIC_CONSTANT(int, value = implementation_level::type::value);
-};
-
-// nvp objects are generally created on the stack and are never tracked
-template<class T>
-struct tracking_level<nvp< T > >
-{
- typedef mpl::integral_c_tag tag;
- typedef mpl::int_<track_never> type;
- BOOST_STATIC_CONSTANT(int, value = tracking_level::type::value);
-};
-
-#endif
-
-} // seralization
-} // boost
-
-#include <boost/preprocessor/stringize.hpp>
-
-#define BOOST_SERIALIZATION_NVP(name) \
- boost::serialization::make_nvp(BOOST_PP_STRINGIZE(name), name)
-/**/
-
-#define BOOST_SERIALIZATION_BASE_OBJECT_NVP(name) \
- boost::serialization::make_nvp( \
- BOOST_PP_STRINGIZE(name), \
- boost::serialization::base_object<name >(*this) \
- )
-/**/
-
-#endif // BOOST_SERIALIZATION_NVP_HPP