libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::type_list< Ts > Struct Template Reference

Description

template<typename... Ts>
struct tcspc::type_list< Ts >

Compile-time representation of a list of types.

In libtcspc, specializations of type_list are frequently used to specify sets of events to be processed in a certain way.

We use a "list" of types, rather than a "set", because there is no way in C++ to implement a type that has set semantics (because there is no total order of types available at compile time; Cf. ISO C++ proposal P2830R3). Therefore, the order of the types Ts is significant for the purpose of type identity (std::is_same) of two type_list specializations. However, we provide metafunctions to perform set operations on type_list specializations, such as tcspc::type_list_is_equal_set.

Note
It is good practice to use consistent ordering of the Ts within your project. Using equivalent but differently ordered types can lead to code bloat.

The documentation for this struct was generated from the following file: