HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TfGet< N > Class Template Reference

#include <stl.h>

Public Types

template<class PairOrTuple >
using return_type = typename std::tuple_element< N, PairOrTuple >::type
 

Public Member Functions

template<class PairOrTuple >
constexpr return_type
< PairOrTuple > & 
operator() (PairOrTuple &p) const
 
template<class PairOrTuple >
constexpr const return_type
< PairOrTuple > & 
operator() (const PairOrTuple &p) const
 
template<class PairOrTuple >
constexpr return_type
< PairOrTuple > && 
operator() (PairOrTuple &&p) const
 

Detailed Description

template<size_t N>
class TfGet< N >

Function object for retrieving the N'th element of a std::pair or std::tuple. This is similar to std::get<N>, but wrapped up in a function object suitable for use with STL algorithms.

Example:

const std::vector<std::pair<int, std::string>> pairs = { ... }
std::vector<int> intsOnly(pairs.size());
std::transform(pairs.begin(), pairs.end(), intsOnly.begin(), TfGet<0>());

Definition at line 391 of file stl.h.

Member Typedef Documentation

template<size_t N>
template<class PairOrTuple >
using TfGet< N >::return_type = typename std::tuple_element<N, PairOrTuple>::type

Definition at line 395 of file stl.h.

Member Function Documentation

template<size_t N>
template<class PairOrTuple >
constexpr return_type<PairOrTuple>& TfGet< N >::operator() ( PairOrTuple &  p) const
inline

Definition at line 398 of file stl.h.

template<size_t N>
template<class PairOrTuple >
constexpr const return_type<PairOrTuple>& TfGet< N >::operator() ( const PairOrTuple &  p) const
inline

Definition at line 404 of file stl.h.

template<size_t N>
template<class PairOrTuple >
constexpr return_type<PairOrTuple>&& TfGet< N >::operator() ( PairOrTuple &&  p) const
inline

Definition at line 411 of file stl.h.


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