summaryrefslogtreecommitdiff
path: root/boost/archive/detail/interface_oarchive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/detail/interface_oarchive.hpp')
-rw-r--r--boost/archive/detail/interface_oarchive.hpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/boost/archive/detail/interface_oarchive.hpp b/boost/archive/detail/interface_oarchive.hpp
index 7ae71768a8..187013b6cd 100644
--- a/boost/archive/detail/interface_oarchive.hpp
+++ b/boost/archive/detail/interface_oarchive.hpp
@@ -29,7 +29,7 @@ namespace boost {
namespace archive {
namespace detail {
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer;
template<class Archive>
class interface_oarchive
@@ -57,22 +57,25 @@ public:
this->This()->register_basic_serializer(bpos.get_basic_serializer());
return & bpos;
}
+
+ 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()->save_override(t, 0);
+ Archive & operator<<(const T & t){
+ this->This()->save_override(t);
return * this->This();
}
// the & operator
template<class T>
- Archive & operator&(T & t){
- #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
- return * this->This() << const_cast<const T &>(t);
- #else
- return * this->This() << t;
- #endif
- }
+ Archive & operator&(const T & t){
+ return * this ->This() << t;
+ };
};
} // namespace detail