![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
Metaprogramming: simple helpers for working with lists-of-types. More...
Go to the source code of this file.
Metaprogramming: simple helpers for working with lists-of-types.
This header provides some very basic "meta functions" for extracting pieces of information from a list-of-types. In Lumiera, we use template metaprogramming and especially such lists-of-types, whenever we build some common implementation backbone, without being able to subsume all participating types (classes) into a single inheritance hierarchy.
The "meta functions" defined here are templates; to access the "result" of such a meta function, we instantiate the template and then access one of the embedded constant definitions (usually the compile-time constant named value)
Definition in file typelist-util.hpp.
Namespaces | |
| namespace | lib |
| Implementation namespace for support and library code. | |
| namespace | lib::meta |
Classes | |
| struct | count< Nil > |
| struct | count< Node< TY, TYPES > > |
| struct | maxSize< Nil > |
| struct | maxSize< Node< TY, TYPES > > |
| struct | maxAlign< Nil > |
| struct | maxAlign< Node< TY, TYPES > > |
| struct | isInList< TY, TYPES > |
| Metafunction to check if a specific type is contained in a given typelist. More... | |
| struct | isInList< TY, Node< TY, TYPES > > |
| struct | isInList< TY, Node< XX, TYPES > > |
| struct | ConstAll< Nil > |
| struct | ConstAll< Node< TY, TYPES > > |
| struct lib::meta::ConstAll< Nil > |