diff --git a/src/core/gzip/include/sourcemeta/core/gzip_error.h b/src/core/gzip/include/sourcemeta/core/gzip_error.h index 111a14c1f7..8bad9c9c84 100644 --- a/src/core/gzip/include/sourcemeta/core/gzip_error.h +++ b/src/core/gzip/include/sourcemeta/core/gzip_error.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { // safe // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -37,7 +38,7 @@ class SOURCEMETA_CORE_GZIP_EXPORT GZIPError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/gzip/include/sourcemeta/core/gzip_streambuf.h b/src/core/gzip/include/sourcemeta/core/gzip_streambuf.h index a104374dc9..9e08b68809 100644 --- a/src/core/gzip/include/sourcemeta/core/gzip_streambuf.h +++ b/src/core/gzip/include/sourcemeta/core/gzip_streambuf.h @@ -34,12 +34,13 @@ class SOURCEMETA_CORE_GZIP_EXPORT GZIPStreamBuffer : public std::streambuf { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif struct Internal; std::unique_ptr internal_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/html/include/sourcemeta/core/html_buffer.h b/src/core/html/include/sourcemeta/core/html_buffer.h index 42e3fd86d7..d72b08ac11 100644 --- a/src/core/html/include/sourcemeta/core/html_buffer.h +++ b/src/core/html/include/sourcemeta/core/html_buffer.h @@ -83,11 +83,12 @@ class SOURCEMETA_CORE_HTML_EXPORT HTMLBuffer { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string buffer_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif char *cursor_{nullptr}; char *end_{nullptr}; diff --git a/src/core/html/include/sourcemeta/core/html_writer.h b/src/core/html/include/sourcemeta/core/html_writer.h index 829d581734..24d643ab8b 100644 --- a/src/core/html/include/sourcemeta/core/html_writer.h +++ b/src/core/html/include/sourcemeta/core/html_writer.h @@ -99,6 +99,7 @@ class SOURCEMETA_CORE_HTML_EXPORT HTMLWriter { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -470,7 +471,7 @@ class SOURCEMETA_CORE_HTML_EXPORT HTMLWriter { bool tag_open_{false}; bool tag_open_is_void_{false}; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/http/include/sourcemeta/core/http_error.h b/src/core/http/include/sourcemeta/core/http_error.h index 86b5a3a97e..bfd64d03ad 100644 --- a/src/core/http/include/sourcemeta/core/http_error.h +++ b/src/core/http/include/sourcemeta/core/http_error.h @@ -19,6 +19,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -93,7 +94,7 @@ class SOURCEMETA_CORE_HTTP_EXPORT HTTPStatusError : public HTTPError { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/http/include/sourcemeta/core/http_system.h b/src/core/http/include/sourcemeta/core/http_system.h index fa6496b6d3..5268c96789 100644 --- a/src/core/http/include/sourcemeta/core/http_system.h +++ b/src/core/http/include/sourcemeta/core/http_system.h @@ -28,6 +28,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -332,7 +333,7 @@ class SOURCEMETA_CORE_HTTP_EXPORT HTTPSystemRequest { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/jose/include/sourcemeta/core/jose_error.h b/src/core/jose/include/sourcemeta/core/jose_error.h index 513e815d5c..e50054a4ba 100644 --- a/src/core/jose/include/sourcemeta/core/jose_error.h +++ b/src/core/jose/include/sourcemeta/core/jose_error.h @@ -10,6 +10,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -50,7 +51,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWEParseError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/jose/include/sourcemeta/core/jose_jwe.h b/src/core/jose/include/sourcemeta/core/jose_jwe.h index ebf610ebf5..0ff866be1d 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwe.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwe.h @@ -100,6 +100,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWE { static auto parse(const std::string_view input, JWE &result) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string protected_header_; @@ -111,7 +112,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWE { std::optional algorithm_; std::optional encryption_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jose/include/sourcemeta/core/jose_jwk.h b/src/core/jose/include/sourcemeta/core/jose_jwk.h index 8a1e0c2c4f..f1e97a616d 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwk.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwk.h @@ -142,6 +142,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWK { static auto parse(const JSON &value, JWK &result) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif Type type_{Type::RSA}; @@ -156,7 +157,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWK { std::string coordinate_y_; std::string public_point_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jose/include/sourcemeta/core/jose_jwk_private.h b/src/core/jose/include/sourcemeta/core/jose_jwk_private.h index 5a96ac9340..037f690242 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwk_private.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwk_private.h @@ -145,6 +145,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWKPrivate { static auto parse(const JSON &value, JWKPrivate &result) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif Type type_{Type::RSA}; @@ -159,7 +160,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWKPrivate { std::string coordinate_y_; std::string public_point_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jose/include/sourcemeta/core/jose_jwks.h b/src/core/jose/include/sourcemeta/core/jose_jwks.h index f7eebbdd70..e32dac7bdf 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwks.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwks.h @@ -82,11 +82,12 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWKS { static auto parse(const JSON &value, JWKS &result) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::vector keys_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jose/include/sourcemeta/core/jose_jwks_provider.h b/src/core/jose/include/sourcemeta/core/jose_jwks_provider.h index 98b9cf826c..e8dbfa165c 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwks_provider.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwks_provider.h @@ -156,6 +156,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWKSProvider { -> std::shared_ptr; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif const std::string jwks_uri_; @@ -167,7 +168,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWKSProvider { std::chrono::system_clock::time_point next_refresh_{}; std::chrono::system_clock::time_point unknown_kid_cooldown_until_{}; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jose/include/sourcemeta/core/jose_jwt.h b/src/core/jose/include/sourcemeta/core/jose_jwt.h index 0e803e8ba2..be458cba8d 100644 --- a/src/core/jose/include/sourcemeta/core/jose_jwt.h +++ b/src/core/jose/include/sourcemeta/core/jose_jwt.h @@ -120,6 +120,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWT { static auto parse(const std::string_view input, JWT &result) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string_view signing_input_; @@ -128,7 +129,7 @@ class SOURCEMETA_CORE_JOSE_EXPORT JWT { JSON payload_{nullptr}; std::optional algorithm_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/json/include/sourcemeta/core/json_array.h b/src/core/json/include/sourcemeta/core/json_array.h index 651f063d71..af4c55e7a8 100644 --- a/src/core/json/include/sourcemeta/core/json_array.h +++ b/src/core/json/include/sourcemeta/core/json_array.h @@ -111,11 +111,12 @@ template class JSONArray { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif Container data_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/json/include/sourcemeta/core/json_error.h b/src/core/json/include/sourcemeta/core/json_error.h index bf2d93ce1e..1b2575f2f7 100644 --- a/src/core/json/include/sourcemeta/core/json_error.h +++ b/src/core/json/include/sourcemeta/core/json_error.h @@ -18,6 +18,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -93,7 +94,7 @@ class SOURCEMETA_CORE_JSON_EXPORT JSONFileParseError : public JSONParseError { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/json/include/sourcemeta/core/json_object.h b/src/core/json/include/sourcemeta/core/json_object.h index b55fe70f94..e4ed9fe051 100644 --- a/src/core/json/include/sourcemeta/core/json_object.h +++ b/src/core/json/include/sourcemeta/core/json_object.h @@ -822,12 +822,13 @@ template class JSONObject { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif static constexpr Hash HASHER{}; underlying_type data_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/json/include/sourcemeta/core/json_value.h b/src/core/json/include/sourcemeta/core/json_value.h index bb90649fdc..f5b6dca0b7 100644 --- a/src/core/json/include/sourcemeta/core/json_value.h +++ b/src/core/json/include/sourcemeta/core/json_value.h @@ -2479,6 +2479,7 @@ class SOURCEMETA_CORE_JSON_EXPORT JSON { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif union { @@ -2495,7 +2496,7 @@ class SOURCEMETA_CORE_JSON_EXPORT JSON { // footprint static_assert(sizeof(Decimal) <= sizeof(String)); #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif auto maybe_destruct_union() -> void; }; diff --git a/src/core/jsonl/include/sourcemeta/core/jsonl.h b/src/core/jsonl/include/sourcemeta/core/jsonl.h index 3b05afe4e2..91186a4e78 100644 --- a/src/core/jsonl/include/sourcemeta/core/jsonl.h +++ b/src/core/jsonl/include/sourcemeta/core/jsonl.h @@ -87,13 +87,14 @@ class SOURCEMETA_CORE_JSONL_EXPORT JSONL { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::basic_istream *stream_; struct Internal; std::unique_ptr internal_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jsonl/include/sourcemeta/core/jsonl_iterator.h b/src/core/jsonl/include/sourcemeta/core/jsonl_iterator.h index 92ab196340..bdf3635694 100644 --- a/src/core/jsonl/include/sourcemeta/core/jsonl_iterator.h +++ b/src/core/jsonl/include/sourcemeta/core/jsonl_iterator.h @@ -49,6 +49,7 @@ class SOURCEMETA_CORE_JSONL_EXPORT ConstJSONLIterator { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif // Use PIMPL idiom to hide internal details, mainly @@ -56,7 +57,7 @@ class SOURCEMETA_CORE_JSONL_EXPORT ConstJSONLIterator { struct Internal; std::unique_ptr internal_{}; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jsonld/include/sourcemeta/core/jsonld_error.h b/src/core/jsonld/include/sourcemeta/core/jsonld_error.h index 5ce06f91a6..411b55f2bc 100644 --- a/src/core/jsonld/include/sourcemeta/core/jsonld_error.h +++ b/src/core/jsonld/include/sourcemeta/core/jsonld_error.h @@ -18,6 +18,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -82,7 +83,7 @@ class SOURCEMETA_CORE_JSONLD_EXPORT JSONLDFragmentError : public JSONLDError { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/jsonpath/include/sourcemeta/core/jsonpath_error.h b/src/core/jsonpath/include/sourcemeta/core/jsonpath_error.h index 1773df9618..db8d8fb2fb 100644 --- a/src/core/jsonpath/include/sourcemeta/core/jsonpath_error.h +++ b/src/core/jsonpath/include/sourcemeta/core/jsonpath_error.h @@ -14,6 +14,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -39,7 +40,7 @@ class SOURCEMETA_CORE_JSONPATH_EXPORT JSONPathParseError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_position.h b/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_position.h index 8a68999668..993df7b714 100644 --- a/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_position.h +++ b/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_position.h @@ -89,13 +89,14 @@ class SOURCEMETA_CORE_JSONPOINTER_EXPORT PointerPositionTracker { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::vector events_; mutable bool indexed_{false}; mutable std::vector trie_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_walker.h b/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_walker.h index 0972b0e587..58f76d80a1 100644 --- a/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_walker.h +++ b/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_walker.h @@ -76,11 +76,12 @@ template class GenericPointerWalker { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif internal pointers_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/oauth/include/sourcemeta/core/oauth_device.h b/src/core/oauth/include/sourcemeta/core/oauth_device.h index c178681425..6ae1341bb9 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_device.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_device.h @@ -21,6 +21,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -185,7 +186,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthDevicePoller { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oauth diff --git a/src/core/oauth/include/sourcemeta/core/oauth_dpop.h b/src/core/oauth/include/sourcemeta/core/oauth_dpop.h index e288850bc2..c15916a3aa 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_dpop.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_dpop.h @@ -96,12 +96,13 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthDPoPProofer { JWKPrivate key_; JWSAlgorithm algorithm_; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif mutable std::mutex mutex_; std::map> nonces_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; @@ -307,12 +308,13 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthDPoPReplayStore { std::size_t capacity_; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif mutable std::mutex mutex_; std::vector entries_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/oauth/include/sourcemeta/core/oauth_error.h b/src/core/oauth/include/sourcemeta/core/oauth_error.h index b0e3c8a2e1..187383ad9f 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_error.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_error.h @@ -281,6 +281,7 @@ auto oauth_bearer_error_status(const OAuthBearerError error) noexcept -> HTTPStatus; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -307,7 +308,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthRegistrationParseError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/oauth/include/sourcemeta/core/oauth_introspection.h b/src/core/oauth/include/sourcemeta/core/oauth_introspection.h index cabb75059f..e7a59c531e 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_introspection.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_introspection.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -100,7 +101,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthIntrospectionResponse { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oauth diff --git a/src/core/oauth/include/sourcemeta/core/oauth_metadata.h b/src/core/oauth/include/sourcemeta/core/oauth_metadata.h index 8a00062dac..c97a3030e2 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_metadata.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_metadata.h @@ -118,6 +118,7 @@ SOURCEMETA_CORE_OAUTH_EXPORT auto oauth_is_issuer_identifier(const std::string_view value) -> bool; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -352,7 +353,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthResourceMetadata { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oauth diff --git a/src/core/oauth/include/sourcemeta/core/oauth_metadata_provider.h b/src/core/oauth/include/sourcemeta/core/oauth_metadata_provider.h index e8effd76d1..459abcaa36 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_metadata_provider.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_metadata_provider.h @@ -18,6 +18,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -227,7 +228,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthResourceMetadataProvider { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/oauth/include/sourcemeta/core/oauth_registration.h b/src/core/oauth/include/sourcemeta/core/oauth_registration.h index 7ba075eedf..72a619db35 100644 --- a/src/core/oauth/include/sourcemeta/core/oauth_registration.h +++ b/src/core/oauth/include/sourcemeta/core/oauth_registration.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -152,7 +153,7 @@ class SOURCEMETA_CORE_OAUTH_EXPORT OAuthClientMetadata { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oauth diff --git a/src/core/oidc/include/sourcemeta/core/oidc_error.h b/src/core/oidc/include/sourcemeta/core/oidc_error.h index 1af3c2bc1c..67335633ec 100644 --- a/src/core/oidc/include/sourcemeta/core/oidc_error.h +++ b/src/core/oidc/include/sourcemeta/core/oidc_error.h @@ -13,6 +13,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -40,7 +41,7 @@ class SOURCEMETA_CORE_OIDC_EXPORT OIDCRegistrationParseError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif /// @ingroup oidc diff --git a/src/core/oidc/include/sourcemeta/core/oidc_metadata.h b/src/core/oidc/include/sourcemeta/core/oidc_metadata.h index a317009a7a..6d56927269 100644 --- a/src/core/oidc/include/sourcemeta/core/oidc_metadata.h +++ b/src/core/oidc/include/sourcemeta/core/oidc_metadata.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -167,7 +168,7 @@ class SOURCEMETA_CORE_OIDC_EXPORT OIDCProviderMetadata { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oidc diff --git a/src/core/oidc/include/sourcemeta/core/oidc_registration.h b/src/core/oidc/include/sourcemeta/core/oidc_registration.h index 7e4d4528d7..05ed706b3e 100644 --- a/src/core/oidc/include/sourcemeta/core/oidc_registration.h +++ b/src/core/oidc/include/sourcemeta/core/oidc_registration.h @@ -16,6 +16,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif @@ -114,7 +115,7 @@ class SOURCEMETA_CORE_OIDC_EXPORT OIDCClientMetadata { }; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif /// @ingroup oidc diff --git a/src/core/punycode/include/sourcemeta/core/punycode_error.h b/src/core/punycode/include/sourcemeta/core/punycode_error.h index 0f885557a1..e385ba5f6b 100644 --- a/src/core/punycode/include/sourcemeta/core/punycode_error.h +++ b/src/core/punycode/include/sourcemeta/core/punycode_error.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -37,7 +38,7 @@ class SOURCEMETA_CORE_PUNYCODE_EXPORT PunycodeError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/semver/include/sourcemeta/core/semver.h b/src/core/semver/include/sourcemeta/core/semver.h index 5722d63d50..8423718547 100644 --- a/src/core/semver/include/sourcemeta/core/semver.h +++ b/src/core/semver/include/sourcemeta/core/semver.h @@ -128,12 +128,13 @@ class SOURCEMETA_CORE_SEMVER_EXPORT SemVer { std::uint64_t minor_{0}; std::uint64_t patch_{0}; #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string_view pre_release_; std::string_view build_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/semver/include/sourcemeta/core/semver_error.h b/src/core/semver/include/sourcemeta/core/semver_error.h index 51befa9df6..67117a9fe6 100644 --- a/src/core/semver/include/sourcemeta/core/semver_error.h +++ b/src/core/semver/include/sourcemeta/core/semver_error.h @@ -11,6 +11,7 @@ namespace sourcemeta::core { #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -54,7 +55,7 @@ class SOURCEMETA_CORE_SEMVER_EXPORT SemVerOverflowError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/uri/include/sourcemeta/core/uri.h b/src/core/uri/include/sourcemeta/core/uri.h index 91b5570253..df5498358b 100644 --- a/src/core/uri/include/sourcemeta/core/uri.h +++ b/src/core/uri/include/sourcemeta/core/uri.h @@ -520,13 +520,14 @@ class SOURCEMETA_CORE_URI_EXPORT URI { private: #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string_view raw_{}; std::size_t pair_start_{std::string_view::npos}; value_type current_{}; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; @@ -538,11 +539,12 @@ class SOURCEMETA_CORE_URI_EXPORT URI { private: #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::string_view raw_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; @@ -1163,6 +1165,7 @@ class SOURCEMETA_CORE_URI_EXPORT URI { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::optional path_{}; @@ -1177,7 +1180,7 @@ class SOURCEMETA_CORE_URI_EXPORT URI { // (RFC 3986) bool iri_{false}; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/uri/include/sourcemeta/core/uri_error.h b/src/core/uri/include/sourcemeta/core/uri_error.h index dacbae9cec..4d79c5a34c 100644 --- a/src/core/uri/include/sourcemeta/core/uri_error.h +++ b/src/core/uri/include/sourcemeta/core/uri_error.h @@ -16,6 +16,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -58,7 +59,7 @@ class SOURCEMETA_CORE_URI_EXPORT URIError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/uritemplate/include/sourcemeta/core/uritemplate.h b/src/core/uritemplate/include/sourcemeta/core/uritemplate.h index 9f60952ad1..7bf185c46d 100644 --- a/src/core/uritemplate/include/sourcemeta/core/uritemplate.h +++ b/src/core/uritemplate/include/sourcemeta/core/uritemplate.h @@ -152,11 +152,12 @@ class SOURCEMETA_CORE_URITEMPLATE_EXPORT URITemplate { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::vector tokens_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/core/uritemplate/include/sourcemeta/core/uritemplate_error.h b/src/core/uritemplate/include/sourcemeta/core/uritemplate_error.h index e9bdd6c6c7..9ac0e75c3a 100644 --- a/src/core/uritemplate/include/sourcemeta/core/uritemplate_error.h +++ b/src/core/uritemplate/include/sourcemeta/core/uritemplate_error.h @@ -19,6 +19,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -199,7 +200,7 @@ class SOURCEMETA_CORE_URITEMPLATE_EXPORT URITemplateRouterReadError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/yaml/include/sourcemeta/core/yaml_error.h b/src/core/yaml/include/sourcemeta/core/yaml_error.h index 07f01fac93..fff9a8011c 100644 --- a/src/core/yaml/include/sourcemeta/core/yaml_error.h +++ b/src/core/yaml/include/sourcemeta/core/yaml_error.h @@ -18,6 +18,7 @@ namespace sourcemeta::core { // safe // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -153,7 +154,7 @@ class SOURCEMETA_CORE_YAML_EXPORT YAMLDuplicateKeyError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/core/yaml/include/sourcemeta/core/yaml_roundtrip.h b/src/core/yaml/include/sourcemeta/core/yaml_roundtrip.h index d3ea4d0517..9a655dfa10 100644 --- a/src/core/yaml/include/sourcemeta/core/yaml_roundtrip.h +++ b/src/core/yaml/include/sourcemeta/core/yaml_roundtrip.h @@ -20,6 +20,7 @@ namespace sourcemeta::core { // safe // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -122,7 +123,7 @@ class SOURCEMETA_CORE_YAML_EXPORT YAMLRoundTrip { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/io/include/sourcemeta/core/io_bytestream.h b/src/lang/io/include/sourcemeta/core/io_bytestream.h index 065a8f133a..f00235a0ce 100644 --- a/src/lang/io/include/sourcemeta/core/io_bytestream.h +++ b/src/lang/io/include/sourcemeta/core/io_bytestream.h @@ -20,6 +20,7 @@ namespace sourcemeta::core { // (LNK2005). // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -59,7 +60,7 @@ class OutputByteStream : public std::ostringstream { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/io/include/sourcemeta/core/io_error.h b/src/lang/io/include/sourcemeta/core/io_error.h index f826241e36..6fc243e022 100644 --- a/src/lang/io/include/sourcemeta/core/io_error.h +++ b/src/lang/io/include/sourcemeta/core/io_error.h @@ -17,6 +17,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -167,7 +168,7 @@ class SOURCEMETA_CORE_IO_EXPORT IOStreamWriteError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/io/include/sourcemeta/core/io_temporary.h b/src/lang/io/include/sourcemeta/core/io_temporary.h index 311151b826..cf77883491 100644 --- a/src/lang/io/include/sourcemeta/core/io_temporary.h +++ b/src/lang/io/include/sourcemeta/core/io_temporary.h @@ -42,11 +42,12 @@ class SOURCEMETA_CORE_IO_EXPORT TemporaryDirectory { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251) #endif std::filesystem::path path_; #if defined(_MSC_VER) -#pragma warning(default : 4251) +#pragma warning(pop) #endif }; diff --git a/src/lang/numeric/include/sourcemeta/core/numeric_error.h b/src/lang/numeric/include/sourcemeta/core/numeric_error.h index 9e1691ef51..63cd02ad22 100644 --- a/src/lang/numeric/include/sourcemeta/core/numeric_error.h +++ b/src/lang/numeric/include/sourcemeta/core/numeric_error.h @@ -14,6 +14,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -77,7 +78,7 @@ class SOURCEMETA_CORE_NUMERIC_EXPORT NumericOutOfMemoryError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/options/include/sourcemeta/core/options.h b/src/lang/options/include/sourcemeta/core/options.h index 929d9b6d18..75ddf8b678 100644 --- a/src/lang/options/include/sourcemeta/core/options.h +++ b/src/lang/options/include/sourcemeta/core/options.h @@ -108,6 +108,7 @@ class SOURCEMETA_CORE_OPTIONS_EXPORT Options { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif static constexpr std::string_view POSITIONAL_ARGUMENT_NAME{""}; @@ -118,7 +119,7 @@ class SOURCEMETA_CORE_OPTIONS_EXPORT Options { std::unordered_map> options_; std::unordered_set flags_; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif }; diff --git a/src/lang/options/include/sourcemeta/core/options_error.h b/src/lang/options/include/sourcemeta/core/options_error.h index 94c2b449e4..d6e832a0d2 100644 --- a/src/lang/options/include/sourcemeta/core/options_error.h +++ b/src/lang/options/include/sourcemeta/core/options_error.h @@ -15,6 +15,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -85,7 +86,7 @@ struct SOURCEMETA_CORE_OPTIONS_EXPORT OptionsMissingOptionValueError }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/process/include/sourcemeta/core/process_error.h b/src/lang/process/include/sourcemeta/core/process_error.h index 3f6e50b425..f3ff64de82 100644 --- a/src/lang/process/include/sourcemeta/core/process_error.h +++ b/src/lang/process/include/sourcemeta/core/process_error.h @@ -19,6 +19,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -79,7 +80,7 @@ class SOURCEMETA_CORE_PROCESS_EXPORT ProcessSpawnError : public std::exception { }; #if defined(_MSC_VER) -#pragma warning(default : 4251 4275) +#pragma warning(pop) #endif } // namespace sourcemeta::core diff --git a/src/lang/test/include/sourcemeta/core/test.h b/src/lang/test/include/sourcemeta/core/test.h index d9be4b87dd..5f4d98edc5 100644 --- a/src/lang/test/include/sourcemeta/core/test.h +++ b/src/lang/test/include/sourcemeta/core/test.h @@ -31,6 +31,7 @@ namespace sourcemeta::core { // safe. // https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4275?view=msvc-170&redirectedfrom=MSDN #if defined(_MSC_VER) +#pragma warning(push) #pragma warning(disable : 4251 4275) #endif @@ -242,6 +243,10 @@ auto test_expect_comparison(std::string_view file, int line, } } +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + } // namespace sourcemeta::core #define SOURCEMETA_CORE_TEST_REGISTER(name) \