blob: 92fa913667dfb1120561653a0553769185dc82c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# RethinkDB driver for C++
This driver is compatible with RethinkDB 2.0. It is based on the
official RethinkDB Python driver.
* [RethinkDB server](http://rethinkdb.com/)
* [RethinkDB API docs](http://rethinkdb.com/api/python/)
## Example
```
#include <memory>
#include <cstdio>
#include <rethinkdb.h>
namespace R = RethinkDB;
int main() {
std::unique_ptr<R::Connection> conn = R::connect("localhost", 28015);
R::Cursor cursor = R::table("users").filter(R::row["age"] > 14).run(*conn);
for (R::Datum& user : cursor) {
printf("%s\n", user.as_json().c_str());
}
}
```
## Build
Requires a modern C++ compiler. to build and install, run:
```
make
make install
```
Will build `include/rethinkdb.h`, `librethinkdb++.a` and
`librethinkdb++.so` into the `build/` directory.
To include documentation from the Python driver in the header file,
pass the following argument to make.
```
make INCLUDE_PYTHON_DOCS=yes
```
To build in debug mode:
```
make DEBUG=yes
```
To install to a specific location:
```
make install prefix=/usr/local DESTDIR=
```
## Status
Still in early stages of development.
## Tests
This driver is tested against the upstream ReQL tests from the
RethinkDB repo, which are programmatically translated from Python to
C++. As of 34dc13c, all tests pass:
```
$ make test
...
SUCCESS: 2053 tests passed
```
|