proxygen
ApplyTuple.h File Reference
#include <functional>
#include <tuple>
#include <utility>
#include <folly/Traits.h>
#include <folly/Utility.h>
#include <folly/functional/Invoke.h>

Go to the source code of this file.

Classes

struct  folly::detail::apply_tuple::adl::ApplyInvoke
 
struct  folly::ApplyInvoke
 
struct  folly::apply_result< F, Tuple >
 
struct  folly::is_applicable< F, Tuple >
 
struct  folly::is_applicable_r< R, F, Tuple >
 
struct  folly::is_nothrow_applicable< F, Tuple >
 
struct  folly::is_nothrow_applicable_r< R, F, Tuple >
 
class  folly::detail::apply_tuple::Uncurry< F >
 
struct  folly::detail::apply_tuple::Construct< T >
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::detail
 
 folly::detail::apply_tuple
 
 folly::detail::apply_tuple::adl
 

Typedefs

template<typename Tuple >
using folly::index_sequence_for_tuple = make_index_sequence< std::tuple_size< Tuple >::value >
 
template<typename F , typename Tuple >
using folly::apply_result_t = invoke_result_t< ApplyInvoke, F, Tuple >
 

Functions

template<typename Tuple , std::size_t... Indices, typename ReturnTuple = std::tuple<decltype(get<Indices>(std::declval<Tuple>()))...>>
auto folly::detail::apply_tuple::adl::forward_tuple (Tuple &&tuple, index_sequence< Indices... >) -> ReturnTuple
 
template<typename F , typename Tuple >
decltype(auto) constexpr folly::apply (F &&func, Tuple &&tuple)
 
template<typename Tuple >
auto folly::forward_tuple (Tuple &&tuple) noexcept-> decltype(detail::apply_tuple::adl::forward_tuple(std::declval< Tuple >(), std::declval< index_sequence_for_tuple< std::remove_reference_t< Tuple >>>()))
 
template<class F >
auto folly::uncurry (F &&f) -> detail::apply_tuple::Uncurry< typename std::decay< F >::type >
 
template<class T , class Tuple >
constexpr T folly::make_from_tuple (Tuple &&t)