williamr@4: #ifndef BOOST_SERIALIZATION_UTILITY_HPP williamr@4: #define BOOST_SERIALIZATION_UTILITY_HPP williamr@4: williamr@4: // MS compatible compilers support #pragma once williamr@4: #if defined(_MSC_VER) && (_MSC_VER >= 1020) williamr@4: # pragma once williamr@4: #endif williamr@4: williamr@4: /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 williamr@4: // serialization/utility.hpp: williamr@4: // serialization for stl utility templates williamr@4: williamr@4: // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . williamr@4: // Use, modification and distribution is subject to the Boost Software williamr@4: // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at williamr@4: // http://www.boost.org/LICENSE_1_0.txt) williamr@4: williamr@4: // See http://www.boost.org for updates, documentation, and revision history. williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: namespace boost { williamr@4: namespace serialization { williamr@4: williamr@4: // pair williamr@4: template williamr@4: inline void serialize( williamr@4: Archive & ar, williamr@4: std::pair & p, williamr@4: const unsigned int /* file_version */ williamr@4: ){ williamr@4: // note: we remove any const-ness on the first argument. The reason is that williamr@4: // for stl maps, the type saved is pair::type typef; williamr@4: ar & boost::serialization::make_nvp("first", const_cast(p.first)); williamr@4: ar & boost::serialization::make_nvp("second", p.second); williamr@4: } williamr@4: williamr@4: } // serialization williamr@4: } // namespace boost williamr@4: williamr@4: #endif // BOOST_SERIALIZATION_UTILITY_HPP