summaryrefslogtreecommitdiff
path: root/boost/archive/impl/basic_binary_oprimitive.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/impl/basic_binary_oprimitive.ipp')
-rw-r--r--boost/archive/impl/basic_binary_oprimitive.ipp11
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