Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/meta/typelist-manip.hpp"
build all possible combinations, based on a enumeration of the basic cases.
For each of the types in the argument list, an "enumeration generator" template is invoked, yielding a list of the possible base cases. These base cases are then combined with all the combinations of the rest, yielding all ordered combinations of all cases. Here, "ordered" means that the base cases of the n-th element will appear in the n-th position of the resulting lists,
For the typical example, the "base cases" are {flag(on), flag(off)}, so we get a list-of-lists, featuring all possibilities to combine these distinct toggles.
Definition at line 289 of file typelist-manip.hpp.
Public Types | |
typedef Distribute< typename _ENUM_< X >::List, Node< NullType, NullType > >::List | List |
Definition at line 291 of file typelist-manip.hpp.