summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'ext/librethinkdbxx/README.md')
-rw-r--r--ext/librethinkdbxx/README.md72
1 files changed, 72 insertions, 0 deletions
diff --git a/ext/librethinkdbxx/README.md b/ext/librethinkdbxx/README.md
new file mode 100644
index 00000000..92fa9136
--- /dev/null
+++ b/ext/librethinkdbxx/README.md
@@ -0,0 +1,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
+```