/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cmLocale_h #define cmLocale_h #include "cmConfigure.h" #include #include class cmLocaleRAII { CM_DISABLE_COPY(cmLocaleRAII) public: cmLocaleRAII() : OldLocale(setlocale(LC_CTYPE, CM_NULLPTR)) { setlocale(LC_CTYPE, ""); } ~cmLocaleRAII() { setlocale(LC_CTYPE, this->OldLocale.c_str()); } private: std::string OldLocale; }; #endif