proxygen
folly::pushmi::time_source< E, TP > Class Template Reference

#include <time_source.h>

Public Types

using time_point = std::decay_t< TP >
 

Public Member Functions

 time_source ()
 
requires Invocable< ExecutorFactory & > &&Executor< invoke_result_t< ExecutorFactory & > > &&NeverBlocking< invoke_result_t< ExecutorFactory & > > auto make (NF nf, ExecutorFactory ef)
 
void join ()
 

Private Attributes

std::shared_ptr< time_source_shared< E, time_point > > source_
 

Detailed Description

template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
class folly::pushmi::time_source< E, TP >

Definition at line 527 of file time_source.h.

Member Typedef Documentation

template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
using folly::pushmi::time_source< E, TP >::time_point = std::decay_t<TP>

Definition at line 529 of file time_source.h.

Constructor & Destructor Documentation

template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
folly::pushmi::time_source< E, TP >::time_source ( )
inline

Definition at line 535 of file time_source.h.

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

536  : source_(std::make_shared<time_source_shared<E, time_point>>()) {
537  source_->start(source_);
538  }
std::shared_ptr< time_source_shared< E, time_point > > source_
Definition: time_source.h:532

Member Function Documentation

template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
void folly::pushmi::time_source< E, TP >::join ( )
inline

Definition at line 550 of file time_source.h.

550  {
551  source_->join(source_);
552  }
std::shared_ptr< time_source_shared< E, time_point > > source_
Definition: time_source.h:532
template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
requires Invocable<ExecutorFactory&>&& Executor<invoke_result_t<ExecutorFactory&> >&& NeverBlocking<invoke_result_t< ExecutorFactory&> > auto folly::pushmi::time_source< E, TP >::make ( NF  nf,
ExecutorFactory  ef 
)
inline

Definition at line 545 of file time_source.h.

References folly::gen::move.

Referenced by make_time().

545  {
546  return time_source_executor_factory_fn<E, time_point, NF, ExecutorFactory>{
547  source_, std::move(nf), std::move(ef)};
548  }
std::shared_ptr< time_source_shared< E, time_point > > source_
Definition: time_source.h:532
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567

Member Data Documentation

template<class E = std::exception_ptr, class TP = std::chrono::system_clock::time_point>
std::shared_ptr<time_source_shared<E, time_point> > folly::pushmi::time_source< E, TP >::source_
private

Definition at line 532 of file time_source.h.


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