tracking_enum.hpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef BOOST_SERIALIZATION_TRACKING_ENUM_HPP
  2. #define BOOST_SERIALIZATION_TRACKING_ENUM_HPP
  3. // MS compatible compilers support #pragma once
  4. #if defined(_MSC_VER)
  5. # pragma once
  6. #endif
  7. /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
  8. // tracking_enum.hpp:
  9. // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
  10. // Use, modification and distribution is subject to the Boost Software
  11. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  12. // http://www.boost.org/LICENSE_1_0.txt)
  13. // See http://www.boost.org for updates, documentation, and revision history.
  14. namespace boost {
  15. namespace serialization {
  16. // addresses of serialized objects may be tracked to avoid saving/loading
  17. // redundant copies. This header defines a class trait that can be used
  18. // to specify when objects should be tracked
  19. // names for each tracking level
  20. enum tracking_type
  21. {
  22. // never track this type
  23. track_never = 0,
  24. // track objects of this type if the object is serialized through a
  25. // pointer.
  26. track_selectively = 1,
  27. // always track this type
  28. track_always = 2
  29. };
  30. } // namespace serialization
  31. } // namespace boost
  32. #endif // BOOST_SERIALIZATION_TRACKING_ENUM_HPP