summaryrefslogtreecommitdiff
path: root/boost/program_options/detail/config_file.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/program_options/detail/config_file.hpp')
-rw-r--r--boost/program_options/detail/config_file.hpp16
1 files changed, 15 insertions, 1 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