7 projects tagged "C++"
The Lean Mean C++ Option Parser handles program arguments (argc, argv). It supports the short and long option formats of getopt(), getopt_long(), and getopt_long_only(), but has a more convenient interface. It is a freestanding, header-only library with no dependencies, not even libc or STL. It comes with a usage message formatter which supports column alignment and line wrapping, making it ideal for localized messages with different lengths.
Portable Computing Language (pocl) aims to become an efficient implementation of the OpenCL standard. In addition to producing an easily-portable Open Source implementation, another major goal of the project is improving performance portability of OpenCL programs with compiler optimizations, reducing the need for target-dependent manual optimizations. At the core of pocl is a set of LLVM passes used to statically parallelize multiple work items with the kernel compiler, even in the presence of work group barriers. This enables parallelization of the fine-grained static concurrency in the work groups in multiple ways (SIMD, VLIW, superscalar, etc.). The code base is modularized to allow easy adding of new "device drivers" in the host-device layer. A generic multithreaded "target driver" is included. It allows running OpenCL applications on a host which supports the pthread library with multithreading at the work group granularity.
The YB.ORM library aims to simplify writing C++ code that has to deal with SQL databases. The goal is to provide a convenient interface like SQLAlchemy (Python) or Hibernate (Java). The library itself is cross-platform and supports a variety of SQL dialects: SQLite3, MySQL, Postgres, Oracle, and Firebird. Integration with Boost, Qt4, and wxWidgets is built-in. In a typical usage scenario, you would describe your database schema and table relationships in a simple XML-based format, generate SQL code to populate database schema with tables, generate C++ classes, add application-specific logic to the classes, and use these classes in cooperation with the Session object to query objects from the database, create new or modify/delete existing objects, or link and unlink objects using relations. Simple serialization to XML is supported along with connection pooling.