写点什么

Reactive Extensions for C++ 简介

  • 2013-12-30
  • 本文字数:649 字

    阅读完需:约 2 分钟

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><a href="http://rxcpp.codeplex.com/">Rx.cpp 的源代码 </a> 位于 CodePlex,支持 Apache License 2.0 许可。</p>
<p><strong> 原文链接:</strong><a href="http://www.infoq.com/news/2013/12/rx-cpp">Introducing Reactive Extensions for C++</a></p>
2013-12-30 04:4412031
用户头像

发布了 59 篇内容, 共 25.1 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容
Reactive Extensions for C++简介_C++_Jonathan Allen_InfoQ精选文章