Skip to content

Commit 5eae1d2

Browse files
committed
2 parents 68d39c8 + 2766b4e commit 5eae1d2

1 file changed

Lines changed: 13 additions & 11 deletions

File tree

README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
## Introduction
22

3-
Cpp.React is an experimental [Reactive Programming](http://en.wikipedia.org/wiki/Reactive_programming) framework for C++11.
4-
It provides abstractions to simplify the implementation of reactive behaviour.
5-
This is accomplished by enabling the declarative expression of dataflows and handling the propagation of changes automatically.
6-
Implicit parallelism for this process is supported as well.
3+
Cpp.React is an experimental [Reactive Programming](http://en.wikipedia.org/wiki/Reactive_programming) framework for C++11. Its purpose is to provide abstractions that simplify the implementation of reactive behaviour.
74

8-
#### Building
5+
The general idea is that dependency relations between data/actions are expressed declarively, while the actual propagation of changes is handled automatically. The benefits:
6+
* Reduction of boilerplate code.
7+
* Updating is always consistent and glitch-free.
8+
* Support for implicit parallelization of updates.
99

10-
So far, I've only tested building the framework on Windows, with:
11-
* Visual Studio 2013
12-
* Intel C++ Compiler 14.0 in Visual Studio 2012/13
10+
#### Compiling
11+
12+
I mainly tested the build on Windows with Visual Studio 2013.
13+
The Intel C++ Compiler 14.0 with Visual Studio 2012/13 is theoretically supported as well, but it doesn't compile the current codebase anymore due to [some bugs]() with C++11 support.
1314

1415
Cpp.React uses standard C++11 and the dependencies are portable, so other compilers/platforms should work, too.
1516

@@ -18,13 +19,12 @@ Cpp.React uses standard C++11 and the dependencies are portable, so other compil
1819
* [Google test framework](https://code.google.com/p/googletest/) (optional, to compile the tests)
1920
* [Boost C++ Libraries](http://www.boost.org/) (optional, to use ReactiveLoop, which requires boost::coroutine)
2021

21-
## Feature overview
22+
## Features by example
2223

2324
#### Signals
2425

2526
Signals are time-varying reactive values, that can be combined to create reactive expressions.
2627
These expressions are automatically recalculated whenever one of their dependent values changes.
27-
Example:
2828

2929
```C++
3030
#include "react/Signal.h"
@@ -43,9 +43,11 @@ width <<= 10;
4343
cout << "area: " << area() << endl; // => area: 20
4444
```
4545
46+
For more information, see the [Signal guide](SignalGuide)
47+
4648
#### Event streams
4749
48-
Event streams represent flows of discrete values as first-class objects, based on ideas found in [Deprecating the Observer Pattern](http://infoscience.epfl.ch/record/176887/files/DeprecatingObservers2012.pdf). Example:
50+
Event streams represent flows of discrete values as first-class objects, based on ideas found in [Deprecating the Observer Pattern](http://infoscience.epfl.ch/record/176887/files/DeprecatingObservers2012.pdf).
4951
5052
```C++
5153
#include "react/EventStream.h"

0 commit comments

Comments
 (0)