Flecs v4.0
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
function_traits.hpp File Reference

Compile time utilities to inspect properties of functions. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  flecs::_::arg_list< Args >
 
struct  flecs::_::function_traits_defs< ReturnType, Args >
 
struct  flecs::_::function_traits_impl< T >
 
struct  flecs::_::function_traits_impl< ReturnType(Args...)>
 
struct  flecs::_::function_traits_impl< ReturnType(*)(Args...)>
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...)>
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const & >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const && >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) volatile >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) volatile & >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) volatile && >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const volatile >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const volatile & >
 
struct  flecs::_::function_traits_impl< ReturnType(ClassType::*)(Args...) const volatile && >
 
struct  flecs::_::function_traits_no_cv< T, V >
 
struct  flecs::_::function_traits_no_cv< T, decltype((void)&T::operator())>
 
struct  flecs::_::function_traits< T >
 
struct  flecs::is_callable< T >
 
struct  flecs::arity< T >
 
struct  flecs::first_arg_impl< Func, _::arg_list< T, Args ... > >
 
struct  flecs::first_arg< Func >
 
struct  flecs::second_arg_impl< Func, _::arg_list< First, T, Args ... > >
 
struct  flecs::second_arg< Func >
 

Namespaces

namespace  flecs::_
 Int to enum.
 

Typedefs

template<typename T >
using flecs::return_type_t = typename _::function_traits<T>::return_type
 
template<typename T >
using flecs::arg_list_t = typename _::function_traits<T>::args
 
template<typename Func >
using flecs::first_arg_t = typename first_arg<Func>::type
 
template<typename Func >
using flecs::second_arg_t = typename second_arg<Func>::type
 

Detailed Description

Typedef Documentation

◆ arg_list_t

template<typename T >
using flecs::arg_list_t = typename _::function_traits<T>::args

Definition at line 113 of file function_traits.hpp.

◆ first_arg_t

template<typename Func >
using flecs::first_arg_t = typename first_arg<Func>::type

Definition at line 130 of file function_traits.hpp.

◆ return_type_t

template<typename T >
using flecs::return_type_t = typename _::function_traits<T>::return_type

Definition at line 110 of file function_traits.hpp.

◆ second_arg_t

template<typename Func >
using flecs::second_arg_t = typename second_arg<Func>::type

Definition at line 147 of file function_traits.hpp.