C++ implementation of an ORM inspired by Python/Django. It allows to query a database-like backend using compact and human readable code.
Supported backends:
- filesystem (read)
- sqlite3
- postgresql
Windows | Unix | |||||
---|---|---|---|---|---|---|
Visual Studio | gcc 4.8 | gcc 4.9 | gcc 5.2 | gcc 5.3 | gcc 6.3 | |
master | ||||||
dev |
All branches under active development (sources and dependencies).
This is the dependency graph for the project automatically generated with
conan info
.
dependencies digraph G { rankdir=LR; "Boost/1.60.0@lasote/stable" -> {"zlib/1.2.8@lasote/stable" "bzip2/1.0.6@lasote/stable"}; "queryset-cpp/0.5@PROJECT" -> {"sqlite3cc/master@jgsogo/stable" "libpqxx/5.0.1@jgsogo/stable" "spdlog/0.9.0@memsharded/stable" "Boost/1.60.0@lasote/stable"}; "sqlite3cc/master@jgsogo/stable" -> {"sqlite3/3.18.0@jgsogo/stable" "Boost/1.60.0@lasote/stable"}; "libpqxx/5.0.1@jgsogo/stable" -> {"postgresql/v9.6.5@jgsogo/stable"}; } dependencies
Every library can be found in the official Conan repositories or in my own bintray remote. In order to be able to compile the project you have to add it to your conan remotes:
$> conan remote add jgsogo-conan-packages https://api.bintray.com/conan/jgsogo/conan-packages
Iterate a table
std::cout << "== List of informers ==" << std::endl;
auto informers = Informer::objects().all();
for (auto& region : informers.groupBy<Region>(false)) {
std::cout << region.first << ":" << std::endl;
for (auto& informer : region.second) {
std::cout << "\t- " << informer << std::endl;
}
}
Check a full usage example at https://github.com/jgsogo/neutron