version 0.4.1
Ikarus::traits Namespace Reference

Classes

struct  ChangeArgTypeAtPos
 Main function to wrap the type at position pos in a std::function. More...
 
struct  FunctionTraits
 Type trait for extracting information about functions. More...
 
struct  hasType
 Type trait to check if a specified type is present in a tuple. More...
 
struct  Index
 Type trait to get the index of a type in a tuple. More...
 
struct  is_tuple< std::tuple< T... > >
 Type trait to check if a type is an instantiation of std::tuple. More...
 
struct  isSharedPtr
 Type trait to check if a type is a isSharedPtr. More...
 
struct  isSpecialization< U, U< T... > >
 Type trait to check if a class is a specialization of a template. More...
 
struct  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  isSpecializationNonTypes< Type, Type< N... > >
 Type trait to check if a class is a specialization of a template with non-type parameters. More...
 
struct  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  Rebind
 Type trait to rebind the underlying type of containers. More...
 
class  remove_pointer
 
struct  ReplaceTypeAtPos
 Helper to replace the type at a specific position in a tuple. More...
 
struct  TupleToFunctionType
 Helper to convert a tuple to a function type. More...
 

Concepts

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

Typedefs

template<typename Fun , typename... Args>
using ReturnType = std::invoke_result_t< Fun, Args... >
 Type trait to obtain the return type of a callable type when given specific arguments. More...
 
template<typename T >
using remove_pointer_t = typename remove_pointer< T >::type
 
template<typename Tuple , std::size_t Pos, typename NewType >
using ReplaceTypeAtPos_t = typename ReplaceTypeAtPos< Tuple, Pos, NewType >::type
 Alias template for ReplaceTypeAtPos. More...
 
template<typename R , typename Tuple >
using TupleToFunctionType_t = typename TupleToFunctionType< R, Tuple >::type
 Alias template for TupleToFunctionType. More...
 

Functions

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

Typedef Documentation

◆ remove_pointer_t

template<typename T >
using Ikarus::traits::remove_pointer_t = typedef typename remove_pointer<T>::type

◆ ReplaceTypeAtPos_t

template<typename Tuple , std::size_t Pos, typename NewType >
using Ikarus::traits::ReplaceTypeAtPos_t = typedef typename ReplaceTypeAtPos<Tuple, Pos, NewType>::type
Template Parameters
TupleThe tuple type.
PosThe position to replace.
NewTypeThe new type to insert.

◆ TupleToFunctionType_t

template<typename R , typename Tuple >
using Ikarus::traits::TupleToFunctionType_t = typedef typename TupleToFunctionType<R, Tuple>::type
Template Parameters
RThe return type.
TupleThe tuple type representing the argument types.