Flecs: include/flecs/addons/cpp/utils/function_traits.hpp File Reference
Description: A fast entity component system (ECS) for C & C++

| Flecs v4.0 A fast entity component system (ECS) for C & C++

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs
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

Compile time utilities to inspect properties of functions.

Code from: https://stackoverflow.com/questions/27024238/c-template-mechanism-to-get-the-number-of-function-arguments-which-would-work

Definition in file function_traits.hpp.

## 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.