2 // Boost.Pointer Container
4 // Copyright Thorsten Ottosen 2008. Use, modification and
5 // distribution is subject to the Boost Software License, Version
6 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
9 // For more information, see http://www.boost.org/libs/ptr_container/
12 #ifndef BOOST_PTR_CONTAINER_SERIALIZE_PTR_CIRCULAR_BUFFER_HPP
13 #define BOOST_PTR_CONTAINER_SERIALIZE_PTR_CIRCULAR_BUFFER_HPP
15 #include <boost/ptr_container/detail/serialize_reversible_cont.hpp>
16 #include <boost/ptr_container/ptr_circular_buffer.hpp>
21 namespace serialization
24 template<class Archive
, class T
, class CloneAllocator
, class Allocator
>
25 void load(Archive
& ar
, ptr_circular_buffer
<T
, CloneAllocator
, Allocator
>& c
, unsigned int version
)
27 typedef ptr_circular_buffer
<T
, CloneAllocator
, Allocator
> container_type
;
28 typedef BOOST_DEDUCED_TYPENAME
container_type::size_type size_type
;
31 ar
>> boost::serialization::make_nvp( ptr_container_detail::count(), n
);
34 ptr_container_detail::load_helper(ar
, c
, n
);
37 template<class Archive
, class T
, class CloneAllocator
, class Allocator
>
38 void serialize(Archive
& ar
, ptr_circular_buffer
<T
, CloneAllocator
, Allocator
>& c
, const unsigned int version
)
40 split_free(ar
, c
, version
);
43 } // namespace serialization