Library of Assembled Shared Sources
|
library for template meta programming
This library (and namespace) contains tools for meta programming.
This library obeys the grand rules of lass' code style. Types start with a capital, values don't. They do so regardless if the type is in fact a meta value, a meta type or a meta function. And that's a good thing. That way Bool, True, False, If, ... start with a capital so they can exists in peace next to bool
, true
, false
, if
... .
The result of a meta function can be a type or a value. The former will be presented by a typedef
called Type
. The latter will be an enum
called value
. Again, style rules are obeyed: types start with a capital, values don't.
bool
value the the meta constants True and False.bool
.bool
.@subscection traits
Data Structures | |
struct | And |
meta AND More... | |
class | Bool |
meta boolean type More... | |
struct | False |
meta false More... | |
struct | If |
Evaluates meta expression TrueType or FalseType based on a meta condition Condition. More... | |
struct | Not |
meta NOT More... | |
struct | Or |
meta OR More... | |
struct | Select |
Select a type based on a meta condition that evaluates to meta::True or meta::False. More... | |
class | True |
meta true More... | |
class | TypeTraits |
Interesting goodies on types. More... | |
struct | Xor |
meta XOR More... | |