summaryrefslogtreecommitdiffstats
path: root/build/clang-plugin/mozsearch-plugin/StringOperations.h
diff options
context:
space:
mode:
Diffstat (limited to 'build/clang-plugin/mozsearch-plugin/StringOperations.h')
-rw-r--r--build/clang-plugin/mozsearch-plugin/StringOperations.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/build/clang-plugin/mozsearch-plugin/StringOperations.h b/build/clang-plugin/mozsearch-plugin/StringOperations.h
new file mode 100644
index 0000000000..4aa5b31962
--- /dev/null
+++ b/build/clang-plugin/mozsearch-plugin/StringOperations.h
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef StringOperations_h
+#define StringOperations_h
+
+#include <memory>
+#include <string>
+#include <string.h>
+
+std::string hash(const std::string &Str);
+
+template <typename... Args>
+inline std::string stringFormat(const std::string &Format, Args... ArgList) {
+ size_t Len = snprintf(nullptr, 0, Format.c_str(), ArgList...);
+ std::unique_ptr<char[]> Buf(new char[Len + 1]);
+ snprintf(Buf.get(), Len + 1, Format.c_str(), ArgList...);
+ return std::string(Buf.get(), Buf.get() + Len);
+}
+
+std::string toString(int N);
+
+#endif