mirror of
https://github.com/ETLCPP/etl.git
synced 2026-06-15 08:26:04 +08:00
973 B
973 B
| title |
|---|
| instance_count |
{{< callout type="info">}}
Header: instance_count.h
{{< /callout >}}
Inherit from this class to count instances of a class.
Before: 20.25.0
etl::instance_count<typename T>
This class is not thread safe.
From: 20.25.0
etl::instance_count<typename T, typename TCounter = uint32_t>
This class is thread safe if TCounter is an atomic type.
Types
type
The type being counted.
counter_type
The type used for the counter.
Member functions
static const counter_type& get_instance_count()
Description
Returns a const reference to the current count.
static void reset_instance_count()
Description
Resets the count to zero.
Example
Instances of My_Class will be counted and can be accessed by the inherited member function get_instance_count().
class My_Class : public etl::instance_count<My_Class, std::atomic_uint8_t>
{
};