BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Reactive Extensions for C++简介

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 姚琪琳 关注 0 他的粉丝 发布于 2013年12月31日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Reactive Extensions for C++(也叫Rx.cpp),已经可以在WinRT(C++/CX)和OS X(clang)中使用了。 尽管还很年轻,但很多工作已经在上一个预览版中完成了。

Scheduling is a cornerstone of Reactive Extensions. 调度是Reactive Extensions中的*** 该版本中共有5个调度器,其中还包括一个专门为Windows的HWND消息环而设计的调度器。

  • Immediate
  • CurrentThread
  • EventLoop
  • NewThread
  • Window

对于Rx开发者来说,对“与STL算法等价的异步”操作符应该非常熟悉:OrderBy、ForEach、Using、Scan、Throttle、TakeUntil、Skip、SkipUntil、ToVector、ToList、Zip、Concat、CombineLatest、Merge、ToAsync、Using、ConnectableObservable、Multicast、Publish、PublishLast、RefCount、ConnectForever、SubscribeOn、ObserveOn。

WinRT的C++/CX所特有的特性包括:BindCommand、DeferOperation、CoreDispatcherScheduler、FromEventPattern、FromAsyncPattern和ReactiveCommand。最后一个特性来自Paul Betts的ReactiveUI

面是一个示例,通过一个范围创建一个可观察对象(observable):

//Declare an observable 
auto values1 = rxcpp::Range(1, 10); 
rxcpp::from(values1)    
    .for_each(      
        [](int p) {         
        cout << p << endl;  
});

Rx.cpp的源代码位于CodePlex,支持Apache License 2.0许可。

原文链接:Introducing Reactive Extensions for C++

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT