1515
1616// Disable warning C4251: <data member>: <type> needs to have dll-interface to
1717// be used by...
18- #if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
18+ #if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) && defined(_MSC_VER)
1919#pragma warning(push)
2020#pragma warning(disable : 4251)
2121#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)
@@ -156,8 +156,10 @@ class JSONCPP_DEPRECATED("Use StreamWriter instead") JSON_API Writer {
156156 * \sa Reader, Value
157157 * \deprecated Use StreamWriterBuilder.
158158 */
159+ #if defined(_MSC_VER)
159160#pragma warning(push)
160161#pragma warning(disable:4996) // Deriving from deprecated class
162+ #endif
161163class JSONCPP_DEPRECATED (" Use StreamWriterBuilder instead" ) JSON_API FastWriter : public Writer {
162164public:
163165 FastWriter ();
@@ -185,7 +187,9 @@ class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API FastWriter
185187 bool dropNullPlaceholders_;
186188 bool omitEndingLineFeed_;
187189};
190+ #if defined(_MSC_VER)
188191#pragma warning(pop)
192+ #endif
189193
190194/* * \brief Writes a Value in <a HREF="http://www.json.org">JSON</a> format in a
191195 *human friendly way.
@@ -211,8 +215,10 @@ class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API FastWriter
211215 * \sa Reader, Value, Value::setComment()
212216 * \deprecated Use StreamWriterBuilder.
213217 */
218+ #if defined(_MSC_VER)
214219#pragma warning(push)
215220#pragma warning(disable:4996) // Deriving from deprecated class
221+ #endif
216222class JSONCPP_DEPRECATED (" Use StreamWriterBuilder instead" ) JSON_API StyledWriter : public Writer {
217223public:
218224 StyledWriter ();
@@ -248,7 +254,9 @@ class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API StyledWrite
248254 unsigned int indentSize_;
249255 bool addChildValues_;
250256};
257+ #if defined(_MSC_VER)
251258#pragma warning(pop)
259+ #endif
252260
253261/* * \brief Writes a Value in <a HREF="http://www.json.org">JSON</a> format in a
254262 human friendly way,
@@ -275,8 +283,10 @@ class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API StyledWrite
275283 * \sa Reader, Value, Value::setComment()
276284 * \deprecated Use StreamWriterBuilder.
277285 */
286+ #if defined(_MSC_VER)
278287#pragma warning(push)
279288#pragma warning(disable:4996) // Deriving from deprecated class
289+ #endif
280290class JSONCPP_DEPRECATED (" Use StreamWriterBuilder instead" ) JSON_API StyledStreamWriter {
281291public:
282292/* *
@@ -318,7 +328,9 @@ class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API StyledStrea
318328 bool addChildValues_ : 1 ;
319329 bool indented_ : 1 ;
320330};
331+ #if defined(_MSC_VER)
321332#pragma warning(pop)
333+ #endif
322334
323335#if defined(JSON_HAS_INT64)
324336JSONCPP_STRING JSON_API valueToString (Int value);
0 commit comments