proxygen
folly::pushmi::subject< PS, TN... > Struct Template Reference

#include <subject.h>

Classes

struct  subject_receiver
 
struct  subject_shared
 

Public Types

using properties = property_set_insert_t< property_set< is_sender<>, is_single<>>, property_set< property_set_index_t< PS, is_single<>>>>
 

Public Member Functions

auto executor ()
 
requires Receiver< Out > void submit (Out out)
 
auto receiver ()
 

Public Attributes

std::shared_ptr< subject_shared > s = std::make_shared<subject_shared>()
 

Detailed Description

template<class PS, class... TN>
struct folly::pushmi::subject< PS, TN... >

Definition at line 30 of file subject.h.

Member Typedef Documentation

Definition at line 33 of file subject.h.

Member Function Documentation

template<class PS , class... TN>
auto folly::pushmi::subject< PS, TN... >::executor ( )
inline

Definition at line 118 of file subject.h.

References folly::pushmi::PUSHMI_TEMPLATE(), folly::pushmi::requires(), and folly::pushmi::trampoline().

118  {
119  return trampoline();
120  }
detail::delegator< E > trampoline()
Definition: trampoline.h:261
template<class PS , class... TN>
auto folly::pushmi::subject< PS, TN... >::receiver ( )
inline

Definition at line 127 of file subject.h.

127  {
128  return detail::receiver_from_fn<subject>{}(subject_receiver{s});
129  }
std::shared_ptr< subject_shared > s
Definition: subject.h:116
template<class PS , class... TN>
requires Receiver<Out> void folly::pushmi::subject< PS, TN... >::submit ( Out  out)
inline

Definition at line 123 of file subject.h.

References folly::gen::move.

123  {
124  s->submit(std::move(out));
125  }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
std::shared_ptr< subject_shared > s
Definition: subject.h:116

Member Data Documentation

template<class PS , class... TN>
std::shared_ptr<subject_shared> folly::pushmi::subject< PS, TN... >::s = std::make_shared<subject_shared>()

Definition at line 116 of file subject.h.


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