template <typename IdTraits>
class IdType
Defined at line 56 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 61 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
void IdType<IdTraits> (const ValueType & int_value)
Defined at line 63 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 66 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
void IdType<IdTraits> (const IdType<IdTraits> & )
Defined at line 69 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
void IdType<IdTraits> (IdType<IdTraits> && )
Defined at line 70 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
IdType<IdTraits> & operator= (const IdType<IdTraits> & )
Defined at line 71 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
IdType<IdTraits> & operator= (IdType<IdTraits> && )
Defined at line 72 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
void ~IdType<IdTraits> ()
Defined at line 74 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
ValueType operator type-parameter-0-0::ValueType ()
Defined at line 76 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
const ValueType & value ()
Defined at line 77 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
FidlType ToFidl ()
Defined at line 79 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
bool operator== (const IdType<IdTraits> & )
Defined at line 81 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
std::strong_ordering operator<=> (const IdType<IdTraits> & )
Defined at line 82 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
IdType<IdTraits> & operator++ ()
Defined at line 91 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h
IdType<IdTraits> operator++ (int )
Defined at line 97 of file ../../src/graphics/display/lib/api-types/cpp/id-type.h