Popularity
2.8
Growing
Activity
0.0
Stable
86
18
34

Description

This driver is compatible with RethinkDB 2.0. It is based on the official RethinkDB Python driver.

Code Quality Rank: L1
Programming language: C++
License: GNU General Public License v3.0 or later
Tags: Database     JSON     C++11    

RethinkDB driver for C++ alternatives and similar libraries

Based on the "Database" category.
Alternatively, view RethinkDB driver for C++ alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of RethinkDB driver for C++ or a related project?

Add another 'Database' Library

README

RethinkDB driver for C++

This driver is compatible with RethinkDB 2.0. It is based on the official RethinkDB Python driver.

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