summaryrefslogtreecommitdiff
path: root/boost/archive/detail/interface_iarchive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/detail/interface_iarchive.hpp')
-rw-r--r--boost/archive/detail/interface_iarchive.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/boost/archive/detail/interface_iarchive.hpp b/boost/archive/detail/interface_iarchive.hpp
index b7bd1659f3..4a99e28b59 100644
--- a/boost/archive/detail/interface_iarchive.hpp
+++ b/boost/archive/detail/interface_iarchive.hpp
@@ -20,6 +20,7 @@
#include <boost/mpl/bool.hpp>
#include <boost/archive/detail/auto_link_archive.hpp>
#include <boost/archive/detail/iserializer.hpp>
+#include <boost/archive/detail/helper_collection.hpp>
#include <boost/serialization/singleton.hpp>
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
@@ -27,7 +28,7 @@ namespace boost {
namespace archive {
namespace detail {
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
+class basic_pointer_iserializer;
template<class Archive>
class interface_iarchive
@@ -55,9 +56,16 @@ public:
this->This()->register_basic_serializer(bpis.get_basic_serializer());
return & bpis;
}
+ template<class Helper>
+ Helper &
+ get_helper(void * const id = 0){
+ helper_collection & hc = this->This()->get_helper_collection();
+ return hc.template find_helper<Helper>(id);
+ }
+
template<class T>
Archive & operator>>(T & t){
- this->This()->load_override(t, 0);
+ this->This()->load_override(t);
return * this->This();
}