Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/meta/trait.hpp"
Helper for type analysis: tries to strip all kinds of type adornments.
Public Types | |
using | Type = typename Unwrap< TypePlain >::Type |
using | TypePlain = remove_cv_t< TypePointee > |
using | TypePointee = remove_pointer_t< TypeReferred > |
using | TypeReferred = remove_reference_t< TypeUnconst > |
using | TypeUnconst = conditional_t< is_reference_v< X >, conditional_t< is_rvalue_reference_v< X >, remove_cv_t< remove_reference_t< X > > &&, remove_cv_t< remove_reference_t< X > > &>, remove_cv_t< X > > |
using TypeUnconst = conditional_t<is_reference_v<X> , conditional_t<is_rvalue_reference_v<X> , remove_cv_t<remove_reference_t<X> > && , remove_cv_t<remove_reference_t<X> > & > , remove_cv_t<X> > |