diff options
Diffstat (limited to 'boost/archive/detail/interface_iarchive.hpp')
-rw-r--r-- | boost/archive/detail/interface_iarchive.hpp | 12 |
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(); } |