5 #if !defined(RXCPP_RX_OPERATORS_HPP)     6 #define RXCPP_RX_OPERATORS_HPP    24 template<
class T, 
class =rxu::types_checked>
    31     : std::is_convertible<typename T::operator_tag*, tag_operator*>
    37 template<
class T, 
class Decayed = rxu::decay_t<T>>
    44 namespace rxo=operators;
    51                 typename Tag::template include_header<std::false_type> {
    52         return  typename Tag::template include_header<std::false_type>();
    56 template<
class T, 
class... 
AN>
    59 template<
class T, 
class... 
AN>
    64     decltype(Overload::member(std::forward<AN>(an)...)) {
    65     return   Overload::member(std::forward<AN>(an)...);
    68 template<
class Tag, 
class... 
AN>
    73     using tuple_type = std::tuple<rxu::decay_t<AN>...>;
    89     template<
class Observable>
    91         -> decltype(rxu::apply(std::tuple_cat(std::make_tuple(tag_type{}, 
source), (*(tuple_type*)
nullptr)), (*(
this_type*)
nullptr))) {
    92         return      rxu::apply(std::tuple_cat(std::make_tuple(tag_type{}, source),                      an),                  *
this);
   104     template<
class Included>
   106         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-amb.hpp>");
   111     template<
class Included>
   113         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-all.hpp>");
   120     template<
class Included>
   122         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-any.hpp>");
   130     template<
class Included>
   132         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-buffer_count.hpp>");
   137     template<
class Included>
   139         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-buffer_time.hpp>");
   144     template<
class Included>
   146         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-buffer_time_count.hpp>");
   151     template<
class Included>
   153         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-combine_latest.hpp>");
   158     template<
class Included>
   160         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-concat.hpp>");
   165     template<
class Included>
   167         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-concat_map.hpp>");
   172     template<
class Included>
   174         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-connect_forever.hpp>");
   179     template<
class Included>
   181         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-debounce.hpp>");
   186     template<
class Included>
   188         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-delay.hpp>");
   193     template<
class Included>
   195         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-distinct.hpp>");
   200     template<
class Included>
   202         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-distinct_until_changed.hpp>");
   207     template<
class Included>
   209         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-element_at.hpp>");
   214     template<
class Included>
   216         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-filter.hpp>");
   221     template<
class Included>
   223         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-finally.hpp>");
   228     template<
class Included>
   230         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-flat_map.hpp>");
   235     template<
class Included>
   237         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-group_by.hpp>");
   242     template<
class Included>
   244         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-ignore_elements.hpp>");
   249     template<
class Included>
   251         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-map.hpp>");
   256     template<
class Included>
   258         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-merge.hpp>");
   263     template<
class Included>
   265         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-multicast.hpp>");
   270     template<
class Included>
   272         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-observe_on.hpp>");
   277     template<
class Included>
   279         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-on_error_resume_next.hpp>");
   287             std::runtime_error(msg)
   291     template<
class Included>
   293         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-reduce.hpp>");
   304     template<
class Included>
   306         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-ref_count.hpp>");
   311     template<
class Included>
   313         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-pairwise.hpp>");
   318     template<
class Included>
   320         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-publish.hpp>");
   326     template<
class Included>
   328         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-repeat.hpp>");
   333     template<
class Included>
   335         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-replay.hpp>");
   340     template<
class Included>
   342         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-retry.hpp>");
   347     template<
class Included>
   349         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-sample_time.hpp>");
   354     template<
class Included>
   356         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-scan.hpp>");
   361     template<
class Included>
   363         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-sequence_equal.hpp>");
   368     template<
class Included>
   370         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-skip.hpp>");
   375     template<
class Included>
   377         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-skip_last.hpp>");
   382     template<
class Included>
   384         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-skip_until.hpp>");
   389     template<
class Included>
   391         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-start_with.hpp>");
   396     template<
class Included>
   398         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-subscribe_on.hpp>");
   403     template<
class Included>
   405         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-switch_if_empty.hpp>");
   411     template<
class Included>
   413         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-switch_on_next.hpp>");
   418     template<
class Included>
   420         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-take.hpp>");
   425     template<
class Included>
   427         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-take_last.hpp>");
   432     template<
class Included>
   434         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-take_while.hpp>");
   439     template<
class Included>
   441         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-take_until.hpp>");
   446     template<
class Included>
   448         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-rap.hpp>");
   453     template<
class Included>
   455         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-timeout.hpp>");
   460     template<
class Included>
   462         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-time_interval.hpp>");
   467     template<
class Included>
   469         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-timestamp.hpp>");
   474     template<
class Included>
   476         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-window.hpp>");
   481     template<
class Included>
   483         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-window_time.hpp>");
   488     template<
class Included>
   490         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-window_time_count.hpp>");
   495     template<
class Included>
   497         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-window_toggle.hpp>");
   502     template<
class Included>
   504         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-with_latest_from.hpp>");
   509     template<
class Included>
   511         static_assert(Included::value, 
"missing include: please #include <rxcpp/operators/rx-zip.hpp>");
 Definition: rx-operators.hpp:126
Definition: rx-operators.hpp:360
Definition: rx-operators.hpp:171
Definition: rx-operators.hpp:248
Definition: rx-operators.hpp:143
Subscribe will cause the source observable to emit values to the provided subscriber. 
Definition: rx-operators.hpp:374
Definition: rx-operators.hpp:445
Definition: rx-all.hpp:26
empty_error(const std::string &msg)
Definition: rx-operators.hpp:286
typename std::decay< T >::type::value_type value_type_t
Definition: rx-util.hpp:35
operator_factory(tuple_type an)
Definition: rx-operators.hpp:78
Definition: rx-operators.hpp:323
Definition: rx-operators.hpp:431
Definition: rx-operators.hpp:157
Definition: rx-operators.hpp:276
Definition: rx-operators.hpp:283
Definition: rx-operators.hpp:69
Definition: rx-operators.hpp:290
Definition: rx-operators.hpp:303
Definition: rx-operators.hpp:346
Definition: rx-operators.hpp:408
Definition: rx-operators.hpp:487
Definition: rx-operators.hpp:381
rxu::value_type_t< delayed_type< T, AN... >> delayed_type_t
Definition: rx-operators.hpp:60
Definition: rx-operators.hpp:459
Definition: rx-operators.hpp:325
Definition: rx-operators.hpp:234
auto AN
Definition: rx-finally.hpp:105
Definition: rx-operators.hpp:255
static auto member(AN &&...) -> typename Tag::template include_header< std::false_type >
Definition: rx-operators.hpp:50
Definition: rx-operators.hpp:199
Definition: rx-operators.hpp:508
Definition: rx-operators.hpp:339
auto operator()(Observable source) const  -> decltype(rxu::apply(std::tuple_cat(std::make_tuple(tag_type
Definition: rx-operators.hpp:90
typename std::decay< T >::type decay_t
Definition: rx-util.hpp:36
Definition: rx-operators.hpp:47
Definition: rx-operators.hpp:367
Definition: rx-operators.hpp:310
Definition: rx-operators.hpp:438
Definition: rx-operators.hpp:298
Definition: rx-operators.hpp:296
Definition: rx-operators.hpp:227
auto operator()(tag_type t, ZN &&...zn) const  -> decltype(observable_member(t, std::forward< ZN >(zn)...))
Definition: rx-operators.hpp:84
Definition: rx-operators.hpp:241
Definition: rx-operators.hpp:117
Definition: rx-operators.hpp:213
Definition: rx-operators.hpp:417
Definition: rx-operators.hpp:38
Definition: rx-operators.hpp:262
Definition: rx-operators.hpp:129
Definition: rx-operators.hpp:424
Definition: rx-operators.hpp:353
Definition: rx-operators.hpp:466
Definition: rx-operators.hpp:136
Definition: rx-operators.hpp:206
Definition: rx-operators.hpp:297
T value_type
Definition: rx-operators.hpp:18
Definition: rx-operators.hpp:192
Definition: rx-operators.hpp:103
source
Definition: rx-operators.hpp:91
Definition: rx-operators.hpp:473
Definition: rx-operators.hpp:110
Definition: rx-operators.hpp:57
takes any function that will take a subscriber for this observable and produce a subscriber. this is intended to allow externally defined operators, that use make_subscriber, to be connected into the expression. 
Definition: rx-operators.hpp:14
Definition: rx-operators.hpp:301
Definition: rx-operators.hpp:220
Definition: rx-operators.hpp:185
Definition: rx-operators.hpp:452
Definition: rx-operators.hpp:269
typename types_checked_from< TN... >::type types_checked_t
Definition: rx-util.hpp:164
Definition: rx-operators.hpp:480
Definition: rx-operators.hpp:150
Definition: rx-operators.hpp:332
Definition: rx-operators.hpp:16
auto observable_member(Tag, AN &&...an) -> decltype(Overload::member(std::forward< AN >(an)...))
Definition: rx-operators.hpp:63
Definition: rx-operators.hpp:164
Definition: rx-operators.hpp:317
Definition: rx-operators.hpp:494
Definition: rx-operators.hpp:410
Definition: rx-operators.hpp:119
Definition: rx-operators.hpp:300
Turn a cold observable hot and allow connections to the source to be independent of subscriptions...
Definition: rx-operators.hpp:178
tag_operator operator_tag
Definition: rx-operators.hpp:19
takes a connectable_observable source and uses a ref_count of the subscribers to control the connecti...
Definition: rx-operators.hpp:299
Definition: rx-operators.hpp:127
Definition: rx-operators.hpp:402
allows connections to the source to be independent of subscriptions. 
Definition: rx-operators.hpp:395
T value_type
Definition: rx-operators.hpp:57
Definition: rx-operators.hpp:388
Definition: rx-operators.hpp:501