Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
grpc_core::promise_detail::Joint< Traits, kRemaining, Fs > Struct Template Reference

#include <basic_join.h>

Public Types

using Bits = BitSet< sizeof...(Fs)>
 
using F = typename std::tuple_element< kIdx, std::tuple< Fs... > >::type
 
using Fsd = Fused< Traits, F >
 
using NextJoint = Joint< Traits, kRemaining - 1, Fs... >
 

Public Member Functions

void DestructAll (const Bits &bits)
 
 Joint (const Joint &j)
 
 Joint (Joint &&j) noexcept
 
 Joint (std::tuple< Fs *... > fs)
 
template<typename F >
auto Run (Bits *bits, F finally) -> decltype(final ly())
 

Public Attributes

GPR_NO_UNIQUE_ADDRESS Fsd fused
 

Static Public Attributes

static constexpr size_t kIdx = sizeof...(Fs) - kRemaining
 

Detailed Description

template<typename Traits, size_t kRemaining, typename... Fs>
struct grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >

Definition at line 61 of file basic_join.h.

Member Typedef Documentation

◆ Bits

template<typename Traits , size_t kRemaining, typename... Fs>
using grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Bits = BitSet<sizeof...(Fs)>

Definition at line 72 of file basic_join.h.

◆ F

template<typename Traits , size_t kRemaining, typename... Fs>
using grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::F = typename std::tuple_element<kIdx, std::tuple<Fs...> >::type

Definition at line 67 of file basic_join.h.

◆ Fsd

template<typename Traits , size_t kRemaining, typename... Fs>
using grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Fsd = Fused<Traits, F>

Definition at line 69 of file basic_join.h.

◆ NextJoint

template<typename Traits , size_t kRemaining, typename... Fs>
using grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::NextJoint = Joint<Traits, kRemaining - 1, Fs...>

Definition at line 65 of file basic_join.h.

Constructor & Destructor Documentation

◆ Joint() [1/3]

template<typename Traits , size_t kRemaining, typename... Fs>
grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Joint ( std::tuple< Fs *... >  fs)
inlineexplicit

Definition at line 74 of file basic_join.h.

◆ Joint() [2/3]

template<typename Traits , size_t kRemaining, typename... Fs>
grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Joint ( const Joint< Traits, kRemaining, Fs > &  j)
inline

Definition at line 78 of file basic_join.h.

◆ Joint() [3/3]

template<typename Traits , size_t kRemaining, typename... Fs>
grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Joint ( Joint< Traits, kRemaining, Fs > &&  j)
inlinenoexcept

Definition at line 81 of file basic_join.h.

Member Function Documentation

◆ DestructAll()

template<typename Traits , size_t kRemaining, typename... Fs>
void grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::DestructAll ( const Bits bits)
inline

Definition at line 85 of file basic_join.h.

◆ Run()

template<typename Traits , size_t kRemaining, typename... Fs>
template<typename F >
auto grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::Run ( Bits bits,
F  finally 
) -> decltype(
inlinefinal

Definition at line 95 of file basic_join.h.

Member Data Documentation

◆ fused

template<typename Traits , size_t kRemaining, typename... Fs>
GPR_NO_UNIQUE_ADDRESS Fsd grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::fused

Definition at line 70 of file basic_join.h.

◆ kIdx

template<typename Traits , size_t kRemaining, typename... Fs>
constexpr size_t grpc_core::promise_detail::Joint< Traits, kRemaining, Fs >::kIdx = sizeof...(Fs) - kRemaining
staticconstexpr

Definition at line 63 of file basic_join.h.


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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:39