Browse Source

Recursive de-referencable nil_

doc
Christos Houtouridis 5 years ago
parent
commit
63a7d1607d
2 changed files with 9 additions and 2 deletions
  1. +9
    -2
      include/utl/meta/integral.h
  2. +0
    -0
      include/utl/meta/invoke.h

+ 9
- 2
include/utl/meta/integral.h View File

@@ -33,8 +33,15 @@
namespace utl {
namespace meta {
//! Empty type
struct nil_ { };
/*!
* Empty type
* utl::meta's nil type is not pure nil. It's a recursive "de-referencable nil.
* Each time someone applies ::type to it, he gets back nil_. This way we can prevent
* a lot of compilation errors in a wrong meta:: handling.
*/
struct nil_ {
using type = nil_;
};
//! Type alias for \p _Tp::type. Used to extract return type of metafunctions
template <typename _Tp>


include/utl/meta/utility.h → include/utl/meta/invoke.h View File


Loading…
Cancel
Save