Templa 0.0.1-alpha
C++ Metaprogramming Utilities
Loading...
Searching...
No Matches
traits.hpp File Reference

Utility templates for type manipulation and traits detection. More...

#include <iostream>
#include <functional>

Go to the source code of this file.

Classes

struct  templa::traits::strip< T >
 Recursively strips const, volatile qualifiers and pointers from a type. More...
struct  templa::traits::strip< const T >
struct  templa::traits::strip< volatile T >
struct  templa::traits::strip< const volatile T >
struct  templa::traits::strip< T * >
struct  templa::traits::strip< const T * >
struct  templa::traits::strip< volatile T * >
struct  templa::traits::strip< const volatile T * >
struct  templa::traits::function_traits< F >
 Primary template for function traits. Specialization used to extract traits from functor types (e.g., lambdas). More...
struct  templa::traits::function_traits< F >::argument< N >
 Retrieves the type of the N-th argument. More...
struct  templa::traits::function_traits< R(Args...)>
 Specialization for regular function types. More...
struct  templa::traits::function_traits< R(Args...)>::argument< N >
 Retrieves the type of the N-th argument. More...
struct  templa::traits::function_traits< R(*)(Args...)>
 Specialization for function pointer types. More...
struct  templa::traits::function_traits< R(C::*)(Args...)>
 Specialization for member function pointers. More...
struct  templa::traits::function_traits< R(C::*)(Args...) const >
 Specialization for const member function pointers. More...
struct  templa::traits::function_traits< R(C::*)>
 Specialization for pointer-to-member types. More...
struct  templa::traits::function_traits< F & >
 Lvalue reference specialization. More...
struct  templa::traits::function_traits< F && >
 Rvalue reference specialization. More...

Namespaces

namespace  traits
 Utility templates for type manipulation and traits detection.

Typedefs

template<typename T>
using templa::traits::strip_t = strip<T>::type
 Helper alias for strip.

Detailed Description

Utility templates for type manipulation and traits detection.

Traits to extract function signature information.

Typedef Documentation

◆ strip_t

template<typename T>
using templa::traits::strip_t = strip<T>::type

Helper alias for strip.

Usage:

// base_t is int
strip< T >::type strip_t
Helper alias for strip.
Definition traits.hpp:90