williamr@2: #ifndef BOOST_SERIALIZATION_TRACKING_ENUM_HPP williamr@2: #define BOOST_SERIALIZATION_TRACKING_ENUM_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: // tracking_enum.hpp: 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: namespace boost { williamr@2: namespace serialization { williamr@2: williamr@2: // addresses of serialized objects may be tracked to avoid saving/loading williamr@2: // redundant copies. This header defines a class trait that can be used williamr@2: // to specify when objects should be tracked williamr@2: williamr@2: // names for each tracking level williamr@2: enum tracking_type williamr@2: { williamr@2: // never track this type williamr@2: track_never = 0, williamr@2: // track objects of this type if the object is serialized through a williamr@2: // pointer. williamr@2: track_selectivly = 1, williamr@2: // always track this type williamr@2: track_always = 2 williamr@2: }; williamr@2: williamr@2: } // namespace serialization williamr@2: } // namespace boost williamr@2: williamr@2: #endif // BOOST_SERIALIZATION_TRACKING_ENUM_HPP