+class ChangeLocale {
+ const String previous;
+ const int category;
+public:
+ ChangeLocale(int category, const char *locale):
+ previous(setlocale(category,locale)),category(category)
+ {
+ }
+ ~ChangeLocale() {
+ setlocale(category,previous.c_str());
+ }
+};
+