/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once #include "cmConfigure.h" // IWYU pragma: keep #include #include class cmCLocaleEnvironmentScope { public: cmCLocaleEnvironmentScope(); ~cmCLocaleEnvironmentScope(); cmCLocaleEnvironmentScope(cmCLocaleEnvironmentScope const&) = delete; cmCLocaleEnvironmentScope& operator=(cmCLocaleEnvironmentScope const&) = delete; private: std::string GetEnv(std::string const& key); void SetEnv(std::string const& key, std::string const& value); using backup_map_t = std::map; backup_map_t EnvironmentBackup; };