diff options
Diffstat (limited to 'tools/lldb-mi/MIUtilSingletonBase.h')
-rw-r--r-- | tools/lldb-mi/MIUtilSingletonBase.h | 52 |
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 e76fff72b27c3..0000000000000 --- 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 |