]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/core/tests/raii_locale.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / third_party / prometheus-cpp / core / tests / raii_locale.h
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/core/tests/raii_locale.h b/ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/core/tests/raii_locale.h
new file mode 100644 (file)
index 0000000..481cd84
--- /dev/null
@@ -0,0 +1,20 @@
+#pragma once
+
+#include <locale>
+
+class RAIILocale {
+ public:
+  RAIILocale(const char* name) : savedLocale_(std::locale::classic()) {
+    std::locale::global(std::locale(name));
+  }
+
+  ~RAIILocale() { std::locale::global(savedLocale_); }
+
+  RAIILocale(const RAIILocale&) = delete;
+  RAIILocale(RAIILocale&&) = delete;
+  RAIILocale& operator=(const RAIILocale&) = delete;
+  RAIILocale& operator=(RAIILocale&&) = delete;
+
+ private:
+  const std::locale savedLocale_;
+};