etl/docs/utilities/instance-count.md
2026-05-11 13:21:35 +01:00

974 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.

Since: 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>
{
};