[#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]