C++ sanctuary for small but powerful and frequently required, stand alone features.
Clone or download
Latest commit 8f48b84 Sep 21, 2018


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++.

Travis Appveyor Tokei

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