OmniSciDB  addbbd5075
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Experimental::Cpp14::Applicator Struct Reference

#include <ExperimentalTypeUtilities.h>

+ Inheritance diagram for Experimental::Cpp14::Applicator:

Public Member Functions

template<class FUNCTION_TYPE , class TUPLE_TYPE , std::size_t... I>
decltype(auto) internalApplyImpl (FUNCTION_TYPE &&f, TUPLE_TYPE &&t, std::index_sequence< I...>)
template<class FUNCTION_TYPE , class TUPLE_TYPE >
decltype(auto) internalApply (FUNCTION_TYPE &&f, TUPLE_TYPE &&t)

Detailed Description

Definition at line 202 of file ExperimentalTypeUtilities.h.

Member Function Documentation

template<class FUNCTION_TYPE , class TUPLE_TYPE >
decltype(auto) Experimental::Cpp14::Applicator::internalApply ( FUNCTION_TYPE &&  f,

Definition at line 211 of file ExperimentalTypeUtilities.h.

References internalApplyImpl().

Referenced by Experimental::Cpp14::MetaTypeHandler< SPECIALIZED_HANDLER, T, HANDLED_VALUES_PACK >::handleMetaType(), and Experimental::Cpp14::MetaTypeClassHandler< SPECIALIZED_HANDLER, HANDLED_TYPE_CLASSES_PACK >::handleMetaTypeClass().

211  {
212  return internalApplyImpl(
213  std::forward<FUNCTION_TYPE>(f),
214  std::forward<TUPLE_TYPE>(t),
215  std::make_index_sequence<
216  std::tuple_size<std::remove_reference_t<TUPLE_TYPE>>::value>{});
217  }
decltype(auto) internalApplyImpl(FUNCTION_TYPE &&f, TUPLE_TYPE &&t, std::index_sequence< I...>)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class FUNCTION_TYPE , class TUPLE_TYPE , std::size_t... I>
decltype(auto) Experimental::Cpp14::Applicator::internalApplyImpl ( FUNCTION_TYPE &&  f,
std::index_sequence< I...>   

Definition at line 204 of file ExperimentalTypeUtilities.h.

Referenced by internalApply().

206  {
207  return f(std::get<I>(std::forward<TUPLE_TYPE>(t))...);
208  }

+ Here is the caller graph for this function:

The documentation for this struct was generated from the following file: