// Copyright David Abrahams 2008. Distributed under the Boost // Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PARALLEL_DETAIL_UNTRACKED_DWA20081110_HPP # define BOOST_PARALLEL_DETAIL_UNTRACKED_DWA20081110_HPP # include # include namespace boost { namespace parallel { namespace detail { template struct untracked_wrapper : boost::serialization::wrapper_traits< untracked_wrapper , boost::serialization::object_serializable > { untracked_wrapper(T& x) : x(x) {} template void save( Archivex & ar, const unsigned int /* file_version */ ) const { // CodeWarrior 8.x can't seem to resolve the << op for a rhs of "const T *" ar.operator<<(x); } template void load( Archivex & ar, const unsigned int /* file_version */ ) { // CodeWarrior 8.x can't seem to resolve the >> op for a rhs of "const T *" ar.operator>>(x); } BOOST_SERIALIZATION_SPLIT_MEMBER() T& x; }; template inline untracked_wrapper untracked(T const& x) { return untracked_wrapper(x); } template inline untracked_wrapper untracked(T& x) { return untracked_wrapper(x); } template Archivex& operator<<(Archivex& ar, untracked_wrapper w) { return ar.operator<<(w); } template Archivex& operator>>(Archivex& ar, untracked_wrapper w) { return ar.operator>>(w); } }}} // namespace boost::parallel::detail #endif // BOOST_PARALLEL_DETAIL_UNTRACKED_DWA20081110_HPP