|
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... | |