williamr@2: #ifndef  BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
williamr@2: #define BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
williamr@2: 
williamr@2: // MS compatible compilers support #pragma once
williamr@2: #if defined(_MSC_VER) && (_MSC_VER >= 1020)
williamr@2: # pragma once
williamr@2: #endif
williamr@2: 
williamr@2: /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
williamr@2: // basic_serializer.hpp: extenstion of type_info required for serialization.
williamr@2: 
williamr@2: // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
williamr@2: // Use, modification and distribution is subject to the Boost Software
williamr@2: // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
williamr@2: // http://www.boost.org/LICENSE_1_0.txt)
williamr@2: 
williamr@2: //  See http://www.boost.org for updates, documentation, and revision history.
williamr@2: 
williamr@2: #include <cassert>
williamr@2: 
williamr@2: #include <boost/noncopyable.hpp>
williamr@2: #include <boost/config.hpp>
williamr@2: #include <boost/serialization/extended_type_info.hpp>
williamr@2: 
williamr@2: namespace boost {
williamr@2: namespace archive {
williamr@2: namespace detail {
williamr@2: 
williamr@2: class basic_serializer : private boost::noncopyable
williamr@2: {
williamr@2:     const boost::serialization::extended_type_info & m_eti;
williamr@2: protected:
williamr@2:     explicit basic_serializer(
williamr@2:         const boost::serialization::extended_type_info & eti
williamr@2:     ) : 
williamr@2:         m_eti(eti)
williamr@2:     {}
williamr@2: public:
williamr@2:     const boost::serialization::extended_type_info & get_eti() const {
williamr@2:         return m_eti;
williamr@2:     }
williamr@2:     bool operator<(const basic_serializer & rhs) const {
williamr@2:         return & m_eti < & rhs.get_eti();
williamr@2:     }
williamr@2: };
williamr@2: 
williamr@2: } // namespace detail
williamr@2: } // namespace archive
williamr@2: } // namespace boost
williamr@2: 
williamr@2: #endif // BOOST_ARCHIVE_BASIC_SERIALIZER_HPP