Skip to content

jgsogo/queryset-cpp

Repository files navigation

queryset-cpp

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

Index

Build status

Windows Unix
Visual Studio gcc 4.8 gcc 4.9 gcc 5.2 gcc 5.3 gcc 6.3
master Build status Build status Build status Build status Build status Build status
dev Build status Build status Build status Build status Build status Build status

All branches under active development (sources and dependencies).

Dependencies

This is the dependency graph for the project automatically generated with conan info.

Dependency graph

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

Basic usage

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

License

MIT LICENSE

About

Querysets implemented for C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published