Morpheus 1.0.0
Dynamic matrix type and algorithms for sparse matrices
Loading...
Searching...
No Matches
Modules | Classes | Typedefs | Variables
Type Traits

Various tools for examining the different types available and relationships between them during compile-time. More...

Collaboration diagram for Type Traits:

Modules

 Format Traits
 Various tools for examining the different types of containers available and relationships between them during compile-time.
 
 Space Traits
 Various tools for examining the different types of spaces available and relationships between them during compile-time.
 

Classes

class  Morpheus::is_default< T >
 Checks if the given type T is a Default type. More...
 
class  Morpheus::is_variant_member< T, Variant >
 Checks if the given type T is a member of Variant container such as std::variant or mpark::variant. More...
 
class  Morpheus::has_tag_trait< T >
 Checks if T has tag as a member trait. More...
 
class  Morpheus::is_layout< T >
 Checks if the given type T is a layout i.e has as a array_layout member trait it self and is one of the supported layouts. More...
 
class  Morpheus::has_layout< T >
 Checks if the given type T has a layout i.e has as a array_layout member trait it self and is one of the supported layouts. More...
 
class  Morpheus::is_same_layout< T1, T2 >
 Checks if the two types have the same valid supported layout. More...
 
class  Morpheus::has_same_layout< T1, T2 >
 Checks if the two types have the same valid supported layout. More...
 
class  Morpheus::is_value_type< T >
 Checks if the given type T is a valid value type i.e a scalar. More...
 
class  Morpheus::has_value_type< T >
 Checks if the given type T has a valid value type i.e a scalar. More...
 
class  Morpheus::is_same_value_type< T1, T2 >
 Checks if the two types are of type value_type and the same. More...
 
class  Morpheus::has_same_value_type< T1, T2 >
 Checks if the two types have the same valid value type. More...
 
class  Morpheus::is_index_type< T >
 Checks if the given type T is a valid index type i.e an integral. More...
 
class  Morpheus::has_index_type< T >
 Checks if the given type T has a valid index type i.e an integral. More...
 
class  Morpheus::is_same_index_type< T1, T2 >
 Checks if the two types is of type index_type and are the same. More...
 
class  Morpheus::has_same_index_type< T1, T2 >
 Checks if the two types have the same valid index type. More...
 
struct  Morpheus::remove_cvref< T >
 Provides the member type which is the same as T, except that its topmost const- and reference-qualifiers are removed. More...
 

Typedefs

template<class T >
using Morpheus::remove_cvref_t = typename remove_cvref< T >::type
 Short-hand to remove_cvref. More...
 

Variables

template<typename T >
constexpr bool Morpheus::is_default_v = is_default<T>::value
 Short-hand to is_default. More...
 
template<typename T , typename Variant >
constexpr bool Morpheus::is_variant_member_v
 Short-hand for is_variant_member. More...
 
template<typename T >
constexpr bool Morpheus::has_tag_trait_v = has_tag_trait<T>::value
 Short-hand for has_tag_trait. More...
 
template<typename T >
constexpr bool Morpheus::is_layout_v = is_layout<T>::value
 Short-hand to is_layout. More...
 
template<typename T >
constexpr bool Morpheus::has_layout_v = has_layout<T>::value
 Short-hand to has_layout. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_layout_v = is_same_layout<T1, T2>::value
 Short-hand to is_same_layout. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_layout_v = has_same_layout<T1, T2>::value
 Short-hand to has_same_layout. More...
 
template<typename T >
constexpr bool Morpheus::is_value_type_v = is_value_type<T>::value
 Short-hand to is_value_type. More...
 
template<typename T >
constexpr bool Morpheus::has_value_type_v = has_value_type<T>::value
 Short-hand to has_value_type. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_value_type_v = is_same_value_type<T1, T2>::value
 Short-hand to is_same_value_type. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_value_type_v
 Short-hand to has_same_value_type. More...
 
template<typename T >
constexpr bool Morpheus::is_index_type_v = is_index_type<T>::value
 Short-hand to is_index_type. More...
 
template<typename T >
constexpr bool Morpheus::has_index_type_v = has_index_type<T>::value
 Short-hand to has_index_type. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_index_type_v = is_same_index_type<T1, T2>::value
 Short-hand to is_same_index_type. More...
 
template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_index_type_v
 Short-hand to has_same_index_type. More...
 

Detailed Description

Various tools for examining the different types available and relationships between them during compile-time.

Typedef Documentation

◆ remove_cvref_t

template<class T >
using Morpheus::remove_cvref_t = typedef typename remove_cvref<T>::type

Short-hand to remove_cvref.

Template Parameters
TType passed for conversion.

Variable Documentation

◆ has_index_type_v

template<typename T >
constexpr bool Morpheus::has_index_type_v = has_index_type<T>::value
inlineconstexpr

Short-hand to has_index_type.

Template Parameters
TType passed for check.

◆ has_layout_v

template<typename T >
constexpr bool Morpheus::has_layout_v = has_layout<T>::value
inlineconstexpr

Short-hand to has_layout.

Template Parameters
TType passed for check.

◆ has_same_index_type_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_index_type_v
inlineconstexpr
Initial value:
=
has_same_index_type<T1, T2>::value

Short-hand to has_same_index_type.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ has_same_layout_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_layout_v = has_same_layout<T1, T2>::value
inlineconstexpr

Short-hand to has_same_layout.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ has_same_value_type_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::has_same_value_type_v
inlineconstexpr
Initial value:
=
has_same_value_type<T1, T2>::value

Short-hand to has_same_value_type.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ has_tag_trait_v

template<typename T >
constexpr bool Morpheus::has_tag_trait_v = has_tag_trait<T>::value
inlineconstexpr

Short-hand for has_tag_trait.

Template Parameters
TType passed for check

◆ has_value_type_v

template<typename T >
constexpr bool Morpheus::has_value_type_v = has_value_type<T>::value
inlineconstexpr

Short-hand to has_value_type.

Template Parameters
TType passed for check.

◆ is_default_v

template<typename T >
constexpr bool Morpheus::is_default_v = is_default<T>::value
inlineconstexpr

Short-hand to is_default.

Template Parameters
TType passed for check.

◆ is_index_type_v

template<typename T >
constexpr bool Morpheus::is_index_type_v = is_index_type<T>::value
inlineconstexpr

Short-hand to is_index_type.

Template Parameters
TType passed for check.

◆ is_layout_v

template<typename T >
constexpr bool Morpheus::is_layout_v = is_layout<T>::value
inlineconstexpr

Short-hand to is_layout.

Template Parameters
TType passed for check.

◆ is_same_index_type_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_index_type_v = is_same_index_type<T1, T2>::value
inlineconstexpr

Short-hand to is_same_index_type.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ is_same_layout_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_layout_v = is_same_layout<T1, T2>::value
inlineconstexpr

Short-hand to is_same_layout.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ is_same_value_type_v

template<typename T1 , typename T2 >
constexpr bool Morpheus::is_same_value_type_v = is_same_value_type<T1, T2>::value
inlineconstexpr

Short-hand to is_same_value_type.

Template Parameters
T1First type passed for comparison.
T2Second type passed for comparison.

◆ is_value_type_v

template<typename T >
constexpr bool Morpheus::is_value_type_v = is_value_type<T>::value
inlineconstexpr

Short-hand to is_value_type.

Template Parameters
TType passed for check.

◆ is_variant_member_v

template<typename T , typename Variant >
constexpr bool Morpheus::is_variant_member_v
inlineconstexpr
Initial value:
=
is_variant_member<T, Variant>::value

Short-hand for is_variant_member.

Template Parameters
TType passed for check