Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
grpc_core::promise_detail::BasicSeq< Traits, Fs > Class Template Reference

#include <basic_seq.h>

Classes

struct  DestructCurrentPromiseAndSubsequentFactoriesStruct
 
struct  RunNext
 
struct  RunStateStruct
 

Public Member Functions

 BasicSeq (BasicSeq &&other) noexcept
 
 BasicSeq (const BasicSeq &other)
 
 BasicSeq (Fs... fs)
 
Poll< Resultoperator() ()
 
BasicSeqoperator= (const BasicSeq &)=delete
 
 ~BasicSeq ()
 

Private Types

using FinalPromise = typename PenultimateState::Types::Next::Promise
 
using FinalPromiseResult = typename FinalPromise::Result
 
using PenultimateState = SeqState< Traits, N - 2, Fs... >
 
using Result = typename Traits< FinalPromiseResult >::WrappedType
 

Private Member Functions

template<char I>
absl::enable_if_t< I !=N - 1, void > DestructCurrentPromiseAndSubsequentFactories ()
 
template<char I>
absl::enable_if_t< I==N - 1, void > DestructCurrentPromiseAndSubsequentFactories ()
 
template<char I>
absl::enable_if_t< I !=N - 1, void > DestructSubsequentFactories ()
 
template<char I>
absl::enable_if_t< I==N - 1, void > DestructSubsequentFactories ()
 
template<char I>
absl::enable_if_t< I==N - 2, FinalPromise * > next_promise ()
 
template<char... I>
Poll< ResultRun (absl::integer_sequence< char, I... >)
 
template<char... I>
void RunDestruct (absl::integer_sequence< char, I... >)
 
template<char I>
absl::enable_if_t< I !=N - 1, Poll< Result > > RunState ()
 
template<char I>
absl::enable_if_t< I==N - 1, Poll< Result > > RunState ()
 

Private Attributes

union {
   GPR_NO_UNIQUE_ADDRESS FinalPromise   final_promise_
 
   GPR_NO_UNIQUE_ADDRESS PenultimateState   penultimate_state_
 
}; 
 
template<char I>
absl::enable_if_t< I< N - 2, SeqState< Traits, I, Fs... > * > state() { return GetSeqState< I > &penultimate_state_);} template< char I > absl::enable_if_t< I==N - 2, PenultimateState * > state() { return &penultimate_state_;} template< char I > auto next_promise() -> absl::enable_if_t< I !=N - 2, decltype(&GetSeqState< I+1 >static_cast< PenultimateState * >nullptr)) -> current_promise
 
char state_ = 0
 

Static Private Attributes

static constexpr char N = sizeof...(Fs)
 

Detailed Description

template<template< typename > class Traits, typename... Fs>
class grpc_core::promise_detail::BasicSeq< Traits, Fs >

Definition at line 199 of file basic_seq.h.

Member Typedef Documentation

◆ FinalPromise

template<template< typename > class Traits, typename... Fs>
using grpc_core::promise_detail::BasicSeq< Traits, Fs >::FinalPromise = typename PenultimateState::Types::Next::Promise
private

Definition at line 211 of file basic_seq.h.

◆ FinalPromiseResult

template<template< typename > class Traits, typename... Fs>
using grpc_core::promise_detail::BasicSeq< Traits, Fs >::FinalPromiseResult = typename FinalPromise::Result
private

Definition at line 216 of file basic_seq.h.

◆ PenultimateState

template<template< typename > class Traits, typename... Fs>
using grpc_core::promise_detail::BasicSeq< Traits, Fs >::PenultimateState = SeqState<Traits, N - 2, Fs...>
private

Definition at line 208 of file basic_seq.h.

◆ Result

template<template< typename > class Traits, typename... Fs>
using grpc_core::promise_detail::BasicSeq< Traits, Fs >::Result = typename Traits<FinalPromiseResult>::WrappedType
private

Definition at line 217 of file basic_seq.h.

Constructor & Destructor Documentation

◆ BasicSeq() [1/3]

template<template< typename > class Traits, typename... Fs>
grpc_core::promise_detail::BasicSeq< Traits, Fs >::BasicSeq ( Fs...  fs)
inlineexplicit

Definition at line 376 of file basic_seq.h.

◆ BasicSeq() [2/3]

template<template< typename > class Traits, typename... Fs>
grpc_core::promise_detail::BasicSeq< Traits, Fs >::BasicSeq ( const BasicSeq< Traits, Fs > &  other)
inline

Definition at line 383 of file basic_seq.h.

◆ BasicSeq() [3/3]

template<template< typename > class Traits, typename... Fs>
grpc_core::promise_detail::BasicSeq< Traits, Fs >::BasicSeq ( BasicSeq< Traits, Fs > &&  other)
inlinenoexcept

Definition at line 390 of file basic_seq.h.

◆ ~BasicSeq()

template<template< typename > class Traits, typename... Fs>
grpc_core::promise_detail::BasicSeq< Traits, Fs >::~BasicSeq ( )
inline

Definition at line 396 of file basic_seq.h.

Member Function Documentation

◆ DestructCurrentPromiseAndSubsequentFactories() [1/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I != N - 1, void> grpc_core::promise_detail::BasicSeq< Traits, Fs >::DestructCurrentPromiseAndSubsequentFactories ( )
inlineprivate

Definition at line 312 of file basic_seq.h.

◆ DestructCurrentPromiseAndSubsequentFactories() [2/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I == N - 1, void> grpc_core::promise_detail::BasicSeq< Traits, Fs >::DestructCurrentPromiseAndSubsequentFactories ( )
inlineprivate

Definition at line 319 of file basic_seq.h.

◆ DestructSubsequentFactories() [1/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I != N - 1, void> grpc_core::promise_detail::BasicSeq< Traits, Fs >::DestructSubsequentFactories ( )
inlineprivate

Definition at line 326 of file basic_seq.h.

◆ DestructSubsequentFactories() [2/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I == N - 1, void> grpc_core::promise_detail::BasicSeq< Traits, Fs >::DestructSubsequentFactories ( )
inlineprivate

Definition at line 332 of file basic_seq.h.

◆ next_promise()

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I == N - 2, FinalPromise*> grpc_core::promise_detail::BasicSeq< Traits, Fs >::next_promise ( )
inlineprivate

Definition at line 240 of file basic_seq.h.

◆ operator()()

template<template< typename > class Traits, typename... Fs>
Poll<Result> grpc_core::promise_detail::BasicSeq< Traits, Fs >::operator() ( )
inline

Definition at line 399 of file basic_seq.h.

◆ operator=()

template<template< typename > class Traits, typename... Fs>
BasicSeq& grpc_core::promise_detail::BasicSeq< Traits, Fs >::operator= ( const BasicSeq< Traits, Fs > &  )
delete

◆ Run()

template<template< typename > class Traits, typename... Fs>
template<char... I>
Poll<Result> grpc_core::promise_detail::BasicSeq< Traits, Fs >::Run ( absl::integer_sequence< char, I... >  )
inlineprivate

Definition at line 359 of file basic_seq.h.

◆ RunDestruct()

template<template< typename > class Traits, typename... Fs>
template<char... I>
void grpc_core::promise_detail::BasicSeq< Traits, Fs >::RunDestruct ( absl::integer_sequence< char, I... >  )
inlineprivate

Definition at line 369 of file basic_seq.h.

◆ RunState() [1/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I != N - 1, Poll<Result> > grpc_core::promise_detail::BasicSeq< Traits, Fs >::RunState ( )
inlineprivate

Definition at line 274 of file basic_seq.h.

◆ RunState() [2/2]

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t<I == N - 1, Poll<Result> > grpc_core::promise_detail::BasicSeq< Traits, Fs >::RunState ( )
inlineprivate

Definition at line 296 of file basic_seq.h.

Member Data Documentation

◆ @27

union { ... }

◆ current_promise

template<template< typename > class Traits, typename... Fs>
template<char I>
absl::enable_if_t< I<N - 2, SeqState<Traits, I, Fs...>*> state() { return GetSeqState<I>&penultimate_state_); } template <char I> absl::enable_if_t<I == N - 2, PenultimateState*> state() { return &penultimate_state_; } template <char I> auto next_promise() -> absl::enable_if_t< I != N - 2, decltype(&GetSeqState<I + 1>static_cast<PenultimateState*>nullptr)) -> grpc_core::promise_detail::BasicSeq< Traits, Fs >::current_promise
private
Initial value:
{
return &GetSeqState<I + 1>(&penultimate_state_)->current_promise

Definition at line 235 of file basic_seq.h.

◆ final_promise_

template<template< typename > class Traits, typename... Fs>
GPR_NO_UNIQUE_ADDRESS FinalPromise grpc_core::promise_detail::BasicSeq< Traits, Fs >::final_promise_

Definition at line 214 of file basic_seq.h.

◆ N

template<template< typename > class Traits, typename... Fs>
constexpr char grpc_core::promise_detail::BasicSeq< Traits, Fs >::N = sizeof...(Fs)
staticconstexprprivate

Definition at line 202 of file basic_seq.h.

◆ penultimate_state_

template<template< typename > class Traits, typename... Fs>
GPR_NO_UNIQUE_ADDRESS PenultimateState grpc_core::promise_detail::BasicSeq< Traits, Fs >::penultimate_state_

Definition at line 213 of file basic_seq.h.

◆ state_

template<template< typename > class Traits, typename... Fs>
char grpc_core::promise_detail::BasicSeq< Traits, Fs >::state_ = 0
private

Definition at line 206 of file basic_seq.h.


The documentation for this class was generated from the following file:
grpc_core::promise_detail::BasicSeq::penultimate_state_
GPR_NO_UNIQUE_ADDRESS PenultimateState penultimate_state_
Definition: basic_seq.h:213


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