Chris@102: #ifndef BOOST_SERIALIZATION_QUEUE_HPP Chris@102: #define BOOST_SERIALIZATION_QUEUE_HPP Chris@102: Chris@102: // MS compatible compilers support #pragma once Chris@102: #if defined(_MSC_VER) && (_MSC_VER >= 1020) Chris@102: # pragma once Chris@102: #endif Chris@102: Chris@102: /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 Chris@102: // queue.hpp Chris@102: Chris@102: // (C) Copyright 2014 Robert Ramey - http://www.rrsd.com . Chris@102: // Use, modification and distribution is subject to the Boost Software Chris@102: // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@102: // http://www.boost.org/LICENSE_1_0.txt) Chris@102: Chris@102: // See http://www.boost.org for updates, documentation, and revision history. Chris@102: Chris@102: #include Chris@102: #include Chris@102: Chris@102: // function specializations must be defined in the appropriate Chris@102: // namespace - boost::serialization Chris@102: #if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) Chris@102: #define STD _STLP_STD Chris@102: #else Chris@102: #define STD std Chris@102: #endif Chris@102: Chris@102: namespace boost { Chris@102: namespace serialization { Chris@102: namespace detail { Chris@102: Chris@102: template Chris@102: struct queue_save : public STD::queue { Chris@102: template Chris@102: void operator()(Archive & ar, const unsigned int file_version) const { Chris@102: save(ar, STD::queue::c, file_version); Chris@102: } Chris@102: }; Chris@102: template Chris@102: struct queue_load : public STD::queue { Chris@102: template Chris@102: void operator()(Archive & ar, const unsigned int file_version) { Chris@102: load(ar, STD::queue::c, file_version); Chris@102: } Chris@102: }; Chris@102: Chris@102: } // detail Chris@102: Chris@102: template Chris@102: inline void serialize( Chris@102: Archive & ar, Chris@102: std::queue< T, C> & t, Chris@102: const unsigned int file_version Chris@102: ){ Chris@102: typedef typename mpl::eval_if< Chris@102: typename Archive::is_saving, Chris@102: mpl::identity >, Chris@102: mpl::identity > Chris@102: >::type typex; Chris@102: static_cast(t)(ar, file_version); Chris@102: } Chris@102: Chris@102: } // namespace serialization Chris@102: } // namespace boost Chris@102: Chris@102: #include Chris@102: Chris@102: BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::queue) Chris@102: Chris@102: #undef STD Chris@102: Chris@102: #endif // BOOST_SERIALIZATION_QUEUE_HPP