template <typename IdTraits>

class IdType

Defined at line 58 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

Newtype pattern implementation for integer identifiers.

Instances are value types, and support being stored in containers. Copying is

supported. The destructor is trivial.

Instances support incrementing for sequential ID generation.

Instances support being used as container keys, by implementing comparison

with strict ordering guarantees and a std::hash specialization.

Instances support being used with std::format(), by delegating to the

std::formatter specialization for the underlying value type.

This type is a zero-cost abstraction. Compiler optimizations will remove any

overhead associated with it.

`IdTraits` must be a traits structure with the same type aliases and static

methods as `DefaultIdTraits`.

Public Methods

void IdType<IdTraits> ()

Defined at line 63 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

void IdType<IdTraits> (const ValueType & int_value)

Defined at line 65 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

template <typename _ = std::enable_if<!std::is_same_v<FidlType, ValueType>>>
void IdType<IdTraits> (const FidlType & fidl_value)

Defined at line 68 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

void IdType<IdTraits> (const IdType<IdTraits> & )

Defined at line 71 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

void IdType<IdTraits> (IdType<IdTraits> && )

Defined at line 72 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

IdType<IdTraits> & operator= (const IdType<IdTraits> & )

Defined at line 73 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

IdType<IdTraits> & operator= (IdType<IdTraits> && )

Defined at line 74 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

void ~IdType<IdTraits> ()

Defined at line 76 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

ValueType operator type-parameter-0-0::ValueType ()

Defined at line 78 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

const ValueType & value ()

Defined at line 79 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

FidlType ToFidl ()

Defined at line 81 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

IdType<IdTraits> & operator++ ()

Defined at line 118 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h

IdType<IdTraits> operator++ (int )

Defined at line 124 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h