mirror of
https://github.com/ETLCPP/etl.git
synced 2026-05-01 03:19:10 +08:00
1.1 KiB
1.1 KiB
| title |
|---|
| singleton_base |
{{< callout type="info">}}
Header: singleton_base.h
{{< /callout >}}
Allows creation of a singleton base class.
etl::singleton_base<typename T>
T The type to use as a singleton.
The class derived derived from this must call the constructor with the instance of itself.
Multiple calls to the constructor will result in an etl::singleton_base_already_created assertion.
Before the constructor Is called, the singleton is in the invalid state.
See also etl::singleton
Static functions
static T& instance()
Returns a reference to the one instance of T.
Asserts an etl::singleton_base_not_created if the instance has not been attached.
static bool is_valid()
Returns true if the instance is has been attached, otherwise false.
Example
class MyType : public etl::singleton_base<MyType>
{
MyType()
: etl::singleton_base<MyType>(*this)
{
}
};
bool is_valid;
is_valid = MyType::is_valid(); // true
MyType& mt = MyType::instance(); // Get the instance