cppassist is a collection of C++ functions, classes and libraries that are too small to be standalone. It acts like a storage point for useful and reusable code for everyone using C++.
cppassist is a cross-platform library licenced under the MIT license.
The current modules in cppassist are:
The following dev-libraries and programs need to be provided for correct CMake configuration:
- C++11 compatible compiler (e.g. gcc 4.7, VS 2013)
- CMake (>= 3.0): http://www.cmake.org/
- Optional: boost
command line arguments parser for console applications.
Flags type to help using enums as flags
classes and methods for platform independent directory traversal and raw data import from files
logging provides stream like logging functionality with customizable outputs (default output is to the console).
low-level memory management helpers
simd provides structures and algorithms for SIMD-like data processing, as introduced by GPUs. This is achieved by compiler extensions as SSE, AVX2, and AVX512.
string utilities like conversion between string and numeric data types, convenience functions for string operations, and some advanced regex functionality
threading provides a
parallel_for function that uses either OpenMP or the
std::thread classes to execute a for loop concurrently.
low-level tokenizer as base for more elaborate text parsers
TypeList type that allows calling different instantiations of a templated method consecutively