proxygen
concepts.h File Reference

Go to the source code of this file.

Classes

struct  folly::pushmi::cardinality_category
 
struct  folly::pushmi::has_cardinality< PS >
 
struct  folly::pushmi::flow_category
 
struct  folly::pushmi::receiver_category
 
struct  folly::pushmi::sender_category
 
struct  folly::pushmi::executor_category
 
struct  folly::pushmi::blocking_category
 
struct  folly::pushmi::sequence_category
 
struct  folly::pushmi::is_single< TN >
 
struct  folly::pushmi::is_single<>
 
struct  folly::pushmi::is_single< PS >
 
struct  folly::pushmi::is_many< TN >
 
struct  folly::pushmi::is_many<>
 
struct  folly::pushmi::is_many< PS >
 
struct  folly::pushmi::is_flow< TN >
 
struct  folly::pushmi::is_flow<>
 
struct  folly::pushmi::is_flow< PS >
 
struct  folly::pushmi::is_receiver< TN >
 
struct  folly::pushmi::is_receiver<>
 
struct  folly::pushmi::is_receiver< PS >
 
struct  folly::pushmi::is_sender< TN >
 
struct  folly::pushmi::is_sender<>
 
struct  folly::pushmi::is_sender< PS >
 
struct  folly::pushmi::is_executor< TN >
 
struct  folly::pushmi::is_executor<>
 
struct  folly::pushmi::is_executor< PS >
 
struct  folly::pushmi::is_constrained< TN >
 
struct  folly::pushmi::is_constrained<>
 
struct  folly::pushmi::is_constrained< PS >
 
struct  folly::pushmi::is_time< TN >
 
struct  folly::pushmi::is_time<>
 
struct  folly::pushmi::is_time< PS >
 
struct  folly::pushmi::is_always_blocking< TN >
 
struct  folly::pushmi::is_always_blocking<>
 
struct  folly::pushmi::is_always_blocking< PS >
 
struct  folly::pushmi::is_never_blocking< TN >
 
struct  folly::pushmi::is_never_blocking<>
 
struct  folly::pushmi::is_never_blocking< PS >
 
struct  folly::pushmi::is_maybe_blocking< TN >
 
struct  folly::pushmi::is_maybe_blocking<>
 
struct  folly::pushmi::is_maybe_blocking< PS >
 
struct  folly::pushmi::is_fifo_sequence< TN >
 
struct  folly::pushmi::is_fifo_sequence<>
 
struct  folly::pushmi::is_fifo_sequence< PS >
 
struct  folly::pushmi::is_concurrent_sequence< TN >
 
struct  folly::pushmi::is_concurrent_sequence<>
 
struct  folly::pushmi::is_concurrent_sequence< PS >
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::pushmi
 

Functions

 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Cardinality, has_cardinality_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Single, is_single_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Many, is_many_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Flow, is_flow_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Executor, is_executor_v< PS > &&is_sender_v< PS > &&is_single_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Constrained, is_constrained_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept Time, is_time_v< PS > &&is_constrained_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept AlwaysBlocking, is_always_blocking_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept NeverBlocking, is_never_blocking_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept MaybeBlocking, is_maybe_blocking_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept FifoSequence, is_fifo_sequence_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class PS) concept ConcurrentSequence, is_concurrent_sequence_v< PS > &&is_sender_v< PS >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class...PropertyN)(concept Receiver)(R, PropertyN...), requires(R &r)(set_done(r), set_error(r, std::exception_ptr{}))&&SemiMovable< R > &&property_query_v< R, PropertyN... > &&is_receiver_v< R > &&!is_sender_v< R >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class...VN)(concept ReceiveValue)(R, VN...), requires(R &r)(set_value(r, std::declval< VN && >()...))&&Receiver< R > &&True<>)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class E=std::exception_ptr)(concept ReceiveError)(R, E), requires(R &r, E &&e)(set_error(r,(E &&) e))&&Receiver< R > &&SemiMovable< E >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class...PropertyN)(concept Sender)(D, PropertyN...), requires(D &d)(executor(d), requires_< Executor< decltype(executor(d))>>)&&SemiMovable< D > &&Cardinality< D > &&property_query_v< D, PropertyN... > &&is_sender_v< D > &&!is_receiver_v< D >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class S, class...PropertyN)(concept SenderTo)(D, S, PropertyN...), requires(D &d, S &&s)(submit(d,(S &&) s))&&Sender< D > &&Receiver< S > &&property_query_v< D, PropertyN... >)
 
template<class D >
 folly::pushmi::PUSHMI_PP_CONSTRAINED_USING (Sender< D >, executor_t=, decltype(executor(std::declval< D & >())))
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class S, class...PropertyN)(concept FlowReceiver)(S, PropertyN...), Receiver< S > &&property_query_v< S, PropertyN... > &&Flow< S >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class...VN)(concept FlowReceiveValue)(R, VN...), Flow< R > &&ReceiveValue< R, VN... >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class E=std::exception_ptr)(concept FlowReceiveError)(R, E), Flow< R > &&ReceiveError< R, E >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class R, class Up)(concept FlowUpTo)(R, Up), requires(R &r, Up &&up)(set_starting(r,(Up &&) up))&&Flow< R >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class S, class...PropertyN)(concept FlowSender)(S, PropertyN...), Sender< S > &&property_query_v< S, PropertyN... > &&Flow< S >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class S, class...PropertyN)(concept FlowSenderTo)(D, S, PropertyN...), FlowSender< D > &&property_query_v< D, PropertyN... > &&FlowReceiver< S >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class...PropertyN)(concept ConstrainedSender)(D, PropertyN...), requires(D &d)(top(d), requires_< Regular< decltype(top(d))>>)&&Sender< D > &&property_query_v< D, PropertyN... > &&Constrained< D >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class S, class...PropertyN)(concept ConstrainedSenderTo)(D, S, PropertyN...), requires(D &d, S &&s)(submit(d, top(d),(S &&) s))&&ConstrainedSender< D > &&property_query_v< D, PropertyN... > &&Receiver< S >)
 
template<class D >
 folly::pushmi::PUSHMI_PP_CONSTRAINED_USING (ConstrainedSender< D >, constraint_t=, decltype(top(std::declval< D & >())))
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class...PropertyN)(concept TimeSender)(D, PropertyN...), requires(D &d)(now(d), requires_< Regular< decltype(now(d)+std::chrono::seconds(1))>>)&&ConstrainedSender< D, PropertyN... > &&Time< D >)
 
 folly::pushmi::PUSHMI_CONCEPT_DEF (template(class D, class S, class...PropertyN)(concept TimeSenderTo)(D, S, PropertyN...), ConstrainedSenderTo< D, S, PropertyN... > &&TimeSender< D >)
 
template<class D >
 folly::pushmi::PUSHMI_PP_CONSTRAINED_USING (TimeSender< D >, time_point_t=, decltype(now(std::declval< D & >())))
 

Variables

template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::has_cardinality_v = has_cardinality<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_single_v = is_single<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_many_v = is_many<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_flow_v = is_flow<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_receiver_v = is_receiver<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_sender_v = is_sender<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_executor_v = is_executor<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_constrained_v = is_constrained<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_time_v = is_time<PS>::value
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_always_blocking_v
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_never_blocking_v
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_maybe_blocking_v
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_fifo_sequence_v
 
template<class PS >
PUSHMI_INLINE_VAR constexpr bool folly::pushmi::is_concurrent_sequence_v