diff options
Diffstat (limited to 'boost/archive/impl/basic_binary_oprimitive.ipp')
-rw-r--r-- | boost/archive/impl/basic_binary_oprimitive.ipp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/boost/archive/impl/basic_binary_oprimitive.ipp b/boost/archive/impl/basic_binary_oprimitive.ipp index 509decb4e6..238617d5ed 100644 --- a/boost/archive/impl/basic_binary_oprimitive.ipp +++ b/boost/archive/impl/basic_binary_oprimitive.ipp @@ -32,6 +32,7 @@ namespace std{ using ::wcslen; } #include <boost/archive/add_facet.hpp> #include <boost/archive/codecvt_null.hpp> #include <boost/archive/basic_binary_oprimitive.hpp> +#include <boost/core/no_exceptions_support.hpp> namespace boost { namespace archive { @@ -103,17 +104,16 @@ basic_binary_oprimitive<Archive, Elem, Tr>::basic_binary_oprimitive( ) : #ifndef BOOST_NO_STD_LOCALE m_sb(sb), - archive_locale(NULL), locale_saver(m_sb) { if(! no_codecvt){ archive_locale.reset( add_facet( - std::locale::classic(), + std::locale::classic(), new codecvt_null<Elem> ) ); - m_sb.pubimbue(* archive_locale); + //m_sb.pubimbue(* archive_locale); } } #else @@ -150,11 +150,12 @@ BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_binary_oprimitive<Archive, Elem, Tr>::~basic_binary_oprimitive(){ // flush buffer //destructor can't throw - try{ + BOOST_TRY{ static_cast<detail::output_streambuf_access<Elem, Tr> &>(m_sb).sync(); } - catch(...){ + BOOST_CATCH(...){ } + BOOST_CATCH_END } } // namespace archive |