OmniSciDB  c07336695a
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

◆ internalApply()

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

Definition at line 211 of file ExperimentalTypeUtilities.h.

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

◆ internalApplyImpl()

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

Definition at line 204 of file ExperimentalTypeUtilities.h.

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

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