diff options
Diffstat (limited to 'boost/program_options/detail')
-rw-r--r-- | boost/program_options/detail/config_file.hpp | 16 | ||||
-rw-r--r-- | boost/program_options/detail/parsers.hpp | 3 |
2 files changed, 17 insertions, 2 deletions
diff --git a/boost/program_options/detail/config_file.hpp b/boost/program_options/detail/config_file.hpp index 4c2c15b934..be6bba1447 100644 --- a/boost/program_options/detail/config_file.hpp +++ b/boost/program_options/detail/config_file.hpp @@ -27,6 +27,11 @@ #include <boost/type_traits/is_same.hpp> #include <boost/shared_ptr.hpp> +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4251) // class XYZ needs to have dll-interface to be used by clients of class XYZ +#endif + namespace boost { namespace program_options { namespace detail { @@ -62,7 +67,7 @@ namespace boost { namespace program_options { namespace detail { TODO: maybe, we should just accept a pointer to options_description class. */ - class common_config_file_iterator + class BOOST_PROGRAM_OPTIONS_DECL common_config_file_iterator : public eof_iterator<common_config_file_iterator, option> { public: @@ -77,6 +82,11 @@ namespace boost { namespace program_options { namespace detail { void get(); +#if BOOST_WORKAROUND(_MSC_VER, <= 1900) + void decrement() {} + void advance(difference_type) {} +#endif + protected: // Stubs for derived classes // Obtains next line from the config file @@ -177,4 +187,8 @@ namespace boost { namespace program_options { namespace detail { }}} +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif + #endif diff --git a/boost/program_options/detail/parsers.hpp b/boost/program_options/detail/parsers.hpp index af240c6861..8c5b02e87d 100644 --- a/boost/program_options/detail/parsers.hpp +++ b/boost/program_options/detail/parsers.hpp @@ -40,7 +40,8 @@ namespace boost { namespace program_options { : detail::cmdline( // Explicit template arguments are required by gcc 3.3.1 // (at least mingw version), and do no harm on other compilers. - to_internal(detail::make_vector<charT, const charT* const*>(argv+1, argv+argc+!argc))) + to_internal(detail::make_vector<charT, const charT* const*>(argv+1, argv+argc+!argc))), + m_desc() {} |