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.hpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/boost/serialization/forward_list.hpp b/boost/serialization/forward_list.hpp
index e17405383c..b8a3c20a6e 100644
--- a/boost/serialization/forward_list.hpp
+++ b/boost/serialization/forward_list.hpp
@@ -16,14 +16,11 @@
// See http://www.boost.org for updates, documentation, and revision history.
+#include <boost/config.hpp>
+
#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>
@@ -33,6 +30,7 @@
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/detail/stack_constructor.hpp>
#include <boost/serialization/detail/is_default_constructible.hpp>
+#include <boost/move/utility_core.hpp>
namespace boost {
namespace serialization {
@@ -72,14 +70,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.emplace_front(u.reference());
+ t.push_front(boost::move(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.emplace_after(last, u.reference());
+ last = t.insert_after(last, boost::move(u.reference()));
ar.reset_object_address(&(*last) , & u.reference());
}
}