summaryrefslogtreecommitdiff
path: root/boost/archive/xml_wiarchive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/xml_wiarchive.hpp')
-rw-r--r--boost/archive/xml_wiarchive.hpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/boost/archive/xml_wiarchive.hpp b/boost/archive/xml_wiarchive.hpp
index 31aff88ad0..a1baa1f8ab 100644
--- a/boost/archive/xml_wiarchive.hpp
+++ b/boost/archive/xml_wiarchive.hpp
@@ -23,13 +23,22 @@
#include <istream>
-//#include <boost/scoped_ptr.hpp>
+#include <boost/smart_ptr/scoped_ptr.hpp>
#include <boost/archive/detail/auto_link_warchive.hpp>
#include <boost/archive/basic_text_iprimitive.hpp>
#include <boost/archive/basic_xml_iarchive.hpp>
#include <boost/archive/detail/register_archive.hpp>
#include <boost/serialization/item_version_type.hpp>
+#ifdef BOOST_NO_CXX11_HDR_CODECVT
+ #include <boost/archive/detail/utf8_codecvt_facet.hpp>
+#else
+ #include <codecvt>
+ namespace boost { namespace archive { namespace detail {
+ typedef std::codecvt_utf8<wchar_t> utf8_codecvt_facet;
+ } } }
+#endif
+
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
#ifdef BOOST_MSVC
@@ -37,7 +46,7 @@
# pragma warning(disable : 4511 4512)
#endif
-namespace boost {
+namespace boost {
namespace archive {
namespace detail {
@@ -69,10 +78,7 @@ protected:
friend class load_access;
#endif
#endif
- // instances of micro xml parser to parse start preambles
- // scoped_ptr doesn't play nice with borland - so use a naked pointer
- // scoped_ptr<xml_wgrammar> gimpl;
- xml_wgrammar *gimpl;
+ boost::scoped_ptr<xml_wgrammar> gimpl;
std::wistream & get_is(){
return is;
}