diff --git a/include/boost/archive/codecvt_null.hpp b/include/boost/archive/codecvt_null.hpp index 6d953cd1..103b7318 100644 --- a/include/boost/archive/codecvt_null.hpp +++ b/include/boost/archive/codecvt_null.hpp @@ -20,6 +20,7 @@ #include #include +#include namespace std{ #if defined(__LIBCOMO__) @@ -58,7 +59,7 @@ public: template<> class codecvt_null : public std::codecvt { - virtual std::codecvt_base::result + virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result) do_out( std::mbstate_t & state, const wchar_t * first1, @@ -68,7 +69,7 @@ class codecvt_null : public std::codecvt char * last2, char * & next2 ) const; - virtual std::codecvt_base::result + virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result) do_in( std::mbstate_t & state, const char * first1, diff --git a/include/boost/archive/detail/basic_oarchive.hpp b/include/boost/archive/detail/basic_oarchive.hpp index 5d7ce118..cf3b0723 100644 --- a/include/boost/archive/detail/basic_oarchive.hpp +++ b/include/boost/archive/detail/basic_oarchive.hpp @@ -71,16 +71,15 @@ protected: public: // note: NOT part of the public interface void register_basic_serializer( - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer & bos + const basic_oserializer & bos ); void save_object( const void *x, - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer & bos + const basic_oserializer & bos ); void save_pointer( const void * t, - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - basic_pointer_oserializer * bpos_ptr + const basic_pointer_oserializer * bpos_ptr ); void save_null_pointer(){ vsave(NULL_POINTER_TAG); diff --git a/include/boost/archive/detail/interface_iarchive.hpp b/include/boost/archive/detail/interface_iarchive.hpp index 031450ba..cfcf11d1 100644 --- a/include/boost/archive/detail/interface_iarchive.hpp +++ b/include/boost/archive/detail/interface_iarchive.hpp @@ -32,7 +32,7 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; +class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; template class interface_iarchive @@ -51,9 +51,9 @@ public: } template - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer * + const basic_pointer_iserializer * register_type(T * = NULL){ - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer & bpis = + const basic_pointer_iserializer & bpis = pointer_iserializer::get_instance(); this->This()->register_basic_serializer(bpis.get_basic_serializer()); return & bpis; diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp index 61ad730c..66ed8d5f 100644 --- a/include/boost/archive/detail/interface_oarchive.hpp +++ b/include/boost/archive/detail/interface_oarchive.hpp @@ -32,7 +32,7 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; +class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; template class interface_oarchive @@ -51,9 +51,9 @@ public: } template - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer * + const basic_pointer_oserializer * register_type(const T * = NULL){ - const BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer & bpos = + const basic_pointer_oserializer & bpos = pointer_oserializer::get_instance(); this->This()->register_basic_serializer(bpos.get_basic_serializer()); return & bpos; diff --git a/src/codecvt_null.cpp b/src/codecvt_null.cpp index 885c0cca..68e1a476 100644 --- a/src/codecvt_null.cpp +++ b/src/codecvt_null.cpp @@ -7,6 +7,7 @@ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) +#define BOOST_ARCHIVE_SOURCE #include // codecvt implementation for passing wchar_t objects to char output