aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lldb-mi/MIUtilSingletonBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MIUtilSingletonBase.h')
-rw-r--r--tools/lldb-mi/MIUtilSingletonBase.h52
1 files changed, 0 insertions, 52 deletions
diff --git a/tools/lldb-mi/MIUtilSingletonBase.h b/tools/lldb-mi/MIUtilSingletonBase.h
deleted file mode 100644
index e76fff72b27c..000000000000
--- a/tools/lldb-mi/MIUtilSingletonBase.h
+++ /dev/null
@@ -1,52 +0,0 @@
-//===-- MIUtilSingletonBase.h -----------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#pragma once
-
-namespace MI {
-
-// MI::ISingleton base class usage:
-//
-// class CMIDerivedClass
-// : public MI::ISingleton< CMIDerivedClass >
-// {
-// friend MI::ISingleton< CMIDerivedClass >;
-//
-// // Overridden:
-// public:
-// // From MI::ISingleton
-// bool Initialize() override;
-// bool Shutdown() override;
-// };
-
-//++
-//============================================================================
-// Details: Base class for the singleton pattern.
-// Gotchas: Derived class must specify MI::ISingleton<> as a friend class.
-//--
-template <typename T> class ISingleton {
- // Statics:
-public:
- // Return an instance of the derived class
- static T &Instance() {
- // This will fail if the derived class has not
- // declared itself to be a friend of MI::ISingleton
- static T instance;
-
- return instance;
- }
-
- // Overrideable:
-public:
- virtual bool Initialize() = 0;
- virtual bool Shutdown() = 0;
- //
- /* dtor */ virtual ~ISingleton() {}
-};
-
-} // namespace MI