summaryrefslogtreecommitdiff
path: root/boost/serialization/forward_list.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/serialization/forward_list.hpp')
-rw-r--r--boost/serialization/forward_list.hpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/boost/serialization/forward_list.hpp b/boost/serialization/forward_list.hpp
index fd52f860b7..e17405383c 100644
--- a/boost/serialization/forward_list.hpp
+++ b/boost/serialization/forward_list.hpp
@@ -19,6 +19,11 @@
#include <forward_list>
#include <iterator> // distance
+#include <boost/config.hpp>
+#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST
+#error "not supported for versions earlier than c++11
+#endif
+
#include <boost/serialization/collections_save_imp.hpp>
#include <boost/serialization/collections_load_imp.hpp>
#include <boost/archive/detail/basic_iarchive.hpp>
@@ -36,7 +41,7 @@ template<class Archive, class U, class Allocator>
inline void save(
Archive & ar,
const std::forward_list<U, Allocator> &t,
- const unsigned int file_version
+ const unsigned int /*file_version*/
){
const collection_size_type count(std::distance(t.cbegin(), t.cend()));
boost::serialization::stl::save_collection<
@@ -67,14 +72,14 @@ collection_load_impl(
t.clear();
boost::serialization::detail::stack_construct<Archive, T> u(ar, item_version);
ar >> boost::serialization::make_nvp("item", u.reference());
- t.push_front(u.reference());
+ t.emplace_front(u.reference());
typename std::forward_list<T, Allocator>::iterator last;
last = t.begin();
ar.reset_object_address(&(*t.begin()) , & u.reference());
while(--count > 0){
detail::stack_construct<Archive, T> u(ar, item_version);
ar >> boost::serialization::make_nvp("item", u.reference());
- last = t.insert_after(last, u.reference());
+ last = t.emplace_after(last, u.reference());
ar.reset_object_address(&(*last) , & u.reference());
}
}
@@ -85,7 +90,7 @@ template<class Archive, class U, class Allocator>
inline void load(
Archive & ar,
std::forward_list<U, Allocator> &t,
- const unsigned int file_version
+ const unsigned int /*file_version*/
){
const boost::archive::library_version_type library_version(
ar.get_library_version()