ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c++响应式编程 rxcpp之cep样例解析

2022-05-28 10:34:43  阅读:365  来源: 互联网

标签:std rx int 样例 namespace c++ rxcpp key


 1 #include "rxcpp/rx.hpp"
 2 // create alias' to simplify code
 3 // these are owned by the user so that
 4 // conflicts can be managed by the user.
 5 //创建别名以简化代码
 6 //这一步由用户处理   用户可以处理因此带来的冲突
 7 namespace rx=rxcpp;
 8 namespace rxsub=rxcpp::subjects;
 9 namespace rxu=rxcpp::util;
10 
11 #include <cctype>
12 #include <clocale>
13 
14 // At this time, RxCpp will fail to compile if the contents
15 // of the std namespace are merged into the global namespace
16 // DO NOT USE: 'using namespace std;'
17 // 不要用'using namespace std;',反之,Rxcpp将编译失败
18 int main()
19 {
20     auto keys = rx::observable<>::create<int>(
21         [](rx::subscriber<int> dest){
22             for (;;) {//被观察者循环检测用户输入字符
23                 int key = std::cin.get();
24                 dest.on_next(key);//通知观察者处理字符
25             }
26         }).
27         publish();//发布订阅
28 
29     auto a = keys.
30         filter([](int key){return std::tolower(key) == 'a';});//过滤器 过滤字符'a'
31 
32     auto g = keys.
33         filter([](int key){return std::tolower(key) == 'g';});//过滤器 过滤字符'b'
34 
35     a.merge(g).//过滤器合并
36         subscribe([](int key){//观察者订阅处理
37             std::cout << key << std::endl;
38         });
39 
40     // run the loop in create
41     keys.connect();
42 
43     return 0;
44 }

 

标签:std,rx,int,样例,namespace,c++,rxcpp,key
来源: https://www.cnblogs.com/lvdongjie/p/16319950.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有