version 0.4.1
traits.hh File Reference

Contains stl-like type traits. More...

#include <functional>
#include <tuple>
#include <type_traits>
#include <dune/common/hybridutilities.hh>

Go to the source code of this file.

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::isSharedPtr< T >
 Type trait to check if a type is a isSharedPtr. More...
 
class  Ikarus::traits::remove_pointer< T >
 
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...
 

Namespaces

namespace  std
 STL namespace.
 
namespace  Ikarus
 
namespace  Ikarus::traits
 

Concepts

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

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...
 
template<typename T >
using Ikarus::traits::remove_pointer_t = typename remove_pointer< T >::type
 
template<typename Tuple , std::size_t Pos, typename NewType >
using Ikarus::traits::ReplaceTypeAtPos_t = typename ReplaceTypeAtPos< Tuple, Pos, NewType >::type
 Alias template for ReplaceTypeAtPos. More...
 
template<typename R , typename Tuple >
using Ikarus::traits::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 Ikarus::traits::countType ()
 Metafunction to count the occurrences of a specific type in a tuple. More...