Classes | Public Member Functions | Private Types | Private Attributes | List of all members
grpc_core::promise_detail::If< C, T, F > Class Template Reference

#include <if.h>

Classes

struct  CallPoll
 
struct  Evaluating
 

Public Member Functions

 If (C condition, T if_true, F if_false)
 
Poll< Resultoperator() ()
 

Private Types

using ConditionPromise = PromiseLike< C >
 
using FalseFactory = promise_detail::PromiseFactory< void, F >
 
using FalsePromise = typename FalseFactory::Promise
 
using Result = typename PollTraits< decltype(std::declval< TruePromise >()())>::Type
 
using State = absl::variant< Evaluating, TruePromise, FalsePromise >
 
using TrueFactory = promise_detail::PromiseFactory< void, T >
 
using TruePromise = typename TrueFactory::Promise
 

Private Attributes

State state_
 

Detailed Description

template<typename C, typename T, typename F>
class grpc_core::promise_detail::If< C, T, F >

Definition at line 61 of file if.h.

Member Typedef Documentation

◆ ConditionPromise

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::ConditionPromise = PromiseLike<C>
private

Definition at line 65 of file if.h.

◆ FalseFactory

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::FalseFactory = promise_detail::PromiseFactory<void, F>
private

Definition at line 64 of file if.h.

◆ FalsePromise

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::FalsePromise = typename FalseFactory::Promise
private

Definition at line 67 of file if.h.

◆ Result

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::Result = typename PollTraits<decltype(std::declval<TruePromise>()())>::Type
private

Definition at line 69 of file if.h.

◆ State

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::State = absl::variant<Evaluating, TruePromise, FalsePromise>
private

Definition at line 87 of file if.h.

◆ TrueFactory

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::TrueFactory = promise_detail::PromiseFactory<void, T>
private

Definition at line 63 of file if.h.

◆ TruePromise

template<typename C , typename T , typename F >
using grpc_core::promise_detail::If< C, T, F >::TruePromise = typename TrueFactory::Promise
private

Definition at line 66 of file if.h.

Constructor & Destructor Documentation

◆ If()

template<typename C , typename T , typename F >
grpc_core::promise_detail::If< C, T, F >::If ( condition,
T  if_true,
if_false 
)
inline

Definition at line 72 of file if.h.

Member Function Documentation

◆ operator()()

template<typename C , typename T , typename F >
Poll<Result> grpc_core::promise_detail::If< C, T, F >::operator() ( )
inline

Definition at line 77 of file if.h.

Member Data Documentation

◆ state_

template<typename C , typename T , typename F >
State grpc_core::promise_detail::If< C, T, F >::state_
private

Definition at line 88 of file if.h.


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


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