summaryrefslogtreecommitdiff
path: root/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h')
-rw-r--r--deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h87
1 files changed, 0 insertions, 87 deletions
diff --git a/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h b/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h
deleted file mode 100644
index 0320baf6ba..0000000000
--- a/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
- * Use of this file is governed by the BSD 3-clause license that
- * can be found in the LICENSE.txt file in the project root.
- */
-
-#pragma once
-
-#include "antlr4-common.h"
-
-namespace antlrcpp {
-
-std::string join(std::vector<std::string> strings,
- const std::string& separator);
-std::map<std::string, size_t> toMap(const std::vector<std::string>& keys);
-std::string escapeWhitespace(std::string str, bool escapeSpaces);
-std::string toHexString(const int t);
-std::string arrayToString(const std::vector<std::string>& data);
-std::string replaceString(const std::string& s, const std::string& from,
- const std::string& to);
-std::vector<std::string> split(const std::string& s, const std::string& sep,
- int count);
-std::string indent(const std::string& s, const std::string& indentation,
- bool includingFirst = true);
-
-// Using RAII + a lambda to implement a "finally" replacement.
-struct FinalAction {
- FinalAction(std::function<void()> f) : _cleanUp{f} {}
- FinalAction(FinalAction&& other)
- : _cleanUp(std::move(other._cleanUp)), _enabled(other._enabled) {
- other._enabled =
- false; // Don't trigger the lambda after ownership has moved.
- }
- ~FinalAction() {
- if (_enabled) _cleanUp();
- }
-
- void disable() { _enabled = false; }
-
- private:
- std::function<void()> _cleanUp;
- bool _enabled{true};
-};
-
-ANTLR4CPP_PUBLIC FinalAction finally(std::function<void()> f);
-
-// Convenience functions to avoid lengthy dynamic_cast() != nullptr checks in
-// many places.
-template <typename T1, typename T2>
-inline bool is(T2* obj) { // For pointer types.
- return dynamic_cast<typename std::add_const<T1>::type>(obj) != nullptr;
-}
-
-template <typename T1, typename T2>
-inline bool is(Ref<T2> const& obj) { // For shared pointers.
- return dynamic_cast<T1*>(obj.get()) != nullptr;
-}
-
-template <typename T>
-std::string toString(const T& o) {
- std::stringstream ss;
- // typeid gives the mangled class name, but that's all what's possible
- // in a portable way.
- ss << typeid(o).name() << "@" << std::hex << reinterpret_cast<uintptr_t>(&o);
- return ss.str();
-}
-
-// Get the error text from an exception pointer or the current exception.
-std::string what(std::exception_ptr eptr = std::current_exception());
-
-class SingleWriteMultipleReadLock {
- public:
- void readLock();
- void readUnlock();
- void writeLock();
- void writeUnlock();
-
- private:
- std::condition_variable _readerGate;
- std::condition_variable _writerGate;
-
- std::mutex _mutex;
- size_t _activeReaders = 0;
- size_t _waitingWriters = 0;
- size_t _activeWriters = 0;
-};
-
-} // namespace antlrcpp