20 lines
528 B
Plaintext
20 lines
528 B
Plaintext
|
[#metaprogramming_value]
|
||
|
[section Template metaprogramming value]
|
||
|
|
||
|
A ['template metaprogramming value] is a
|
||
|
[link nullary_metafunction nullary template metafunction] returning itself.
|
||
|
For example:
|
||
|
|
||
|
struct void_
|
||
|
{
|
||
|
using type = void_;
|
||
|
};
|
||
|
|
||
|
This template metaprogramming value is called `void_`. It is a nullary
|
||
|
metafunction returning itself as its result. Because of this, it can be treated
|
||
|
as a nullary metafunction and evaluated any number of times. For example
|
||
|
`void_::type::type::type` is still `void_`.
|
||
|
|
||
|
[endsect]
|
||
|
|