diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2015-05-22 18:05:30 -0700 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2015-05-22 18:05:30 -0700 |
commit | 2a1aa9663b3e0c60bc7bf74fa345dde5bcc458b0 (patch) | |
tree | 62551b5d96d6aafb65738a041ea6cc505217d275 /src/pugixml.cpp | |
parent | fc1dcab79d43822f05c3dfe4dc391987c6bbc2d2 (diff) |
Fix MSVC7 compilation
Work around a name lookup bug by pulling auto_deleter name in the local
scope. We could also move auto_deleter to pugi:: namespace, but that
pollutes it unnecessarily for other compilers.
Diffstat (limited to 'src/pugixml.cpp')
-rw-r--r-- | src/pugixml.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index e38f057..15dcd01 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -6833,7 +6833,8 @@ namespace pugi { reset(); - impl::auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, "rb"), fclose); + using impl::auto_deleter; // MSVC7 workaround + auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, "rb"), fclose); return impl::load_file_impl(*this, file.data, options, encoding); } @@ -6842,7 +6843,8 @@ namespace pugi { reset(); - impl::auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, L"rb"), fclose); + using impl::auto_deleter; // MSVC7 workaround + auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, L"rb"), fclose); return impl::load_file_impl(*this, file.data, options, encoding); } @@ -6914,14 +6916,16 @@ namespace pugi PUGI__FN bool xml_document::save_file(const char* path_, const char_t* indent, unsigned int flags, xml_encoding encoding) const { - impl::auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), fclose); + using impl::auto_deleter; // MSVC7 workaround + auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), fclose); return impl::save_file_impl(*this, file.data, indent, flags, encoding); } PUGI__FN bool xml_document::save_file(const wchar_t* path_, const char_t* indent, unsigned int flags, xml_encoding encoding) const { - impl::auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, (flags & format_save_file_text) ? L"w" : L"wb"), fclose); + using impl::auto_deleter; // MSVC7 workaround + auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, (flags & format_save_file_text) ? L"w" : L"wb"), fclose); return impl::save_file_impl(*this, file.data, indent, flags, encoding); } @@ -12197,7 +12201,8 @@ namespace pugi } else { - impl::auto_deleter<impl::xpath_query_impl> impl(qimpl, impl::xpath_query_impl::destroy); + using impl::auto_deleter; // MSVC7 workaround + auto_deleter<impl::xpath_query_impl> impl(qimpl, impl::xpath_query_impl::destroy); qimpl->root = impl::xpath_parser::parse(query, variables, &qimpl->alloc, &_result); |