version 0.4.1
Type traits

Type traits for TMP. More...

Collaboration diagram for Type traits:

Concepts

concept  Ikarus::traits::Pointer
 Concept to check if a type is a pointer or nullptr_t.
 

Classes

struct  Ikarus::traits::is_tuple< std::tuple< T... > >
 Type trait to check if a type is an instantiation of std::tuple. More...
 
struct  Ikarus::traits::hasType< T, Tuple >
 Type trait to check if a specified type is present in a tuple. More...
 
struct  Ikarus::traits::isSpecialization< U, U< T... > >
 Type trait to check if a class is a specialization of a template. More...
 
struct  Ikarus::traits::isSpecializationNonTypeAndTypes< Type, Type< T, N... > >
 Type trait to check if a class is a specialization of a template with a non-type parameter and types. More...
 
struct  Ikarus::traits::isSpecializationTypeNonTypeAndType< Type, Type< T, M, N > >
 Type trait to check if a class is a specialization of a template with types and two non-type parameters. More...
 
struct  Ikarus::traits::isSpecializationNonTypes< Type, Type< N... > >
 Type trait to check if a class is a specialization of a template with non-type parameters. More...
 
struct  Ikarus::traits::Index< T, Tuple >
 Type trait to get the index of a type in a tuple. More...
 
struct  Ikarus::traits::FunctionTraits< T, typename >
 Type trait for extracting information about functions. More...
 

Typedefs

template<typename Fun , typename... Args>
using Ikarus::traits::ReturnType = std::invoke_result_t< Fun, Args... >
 Type trait to obtain the return type of a callable type when given specific arguments. More...
 

Functions

template<class Tuple , class Type >
requires is_tuple<Tuple>
::value consteval int Ikarus::traits::countType ()
 Metafunction to count the occurrences of a specific type in a tuple. More...
 

Detailed Description

Typedef Documentation

◆ ReturnType

template<typename Fun , typename... Args>
using Ikarus::traits::ReturnType = typedef std::invoke_result_t<Fun, Args...>
Template Parameters
FunCallable type.
ArgsArgument types.

Function Documentation

◆ countType()

template<class Tuple , class Type >
requires is_tuple<Tuple>
::value consteval int Ikarus::traits::countType ( )
Template Parameters
TupleType of the tuple.
TypeType to count in the tuple.
Returns
int Number of occurrences of the specified type in the tuple.