C++ sanctuary for small but powerful and frequently required, stand alone features.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake
data
deploy
docs
source
.gitignore
AUTHORS
CMakeLists.txt
LICENSE
README.md
_config.yml
configure
libzeug-config.cmake

README.md

libzeug

Libzeug 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++. Libzeug is a cross-platform library licenced under the MIT license.

The current modules in libzeug are:

The latest release is libzeug-v0.5.0.

Our wiki contains information to help you get started.

Service System Compiler Options Status
Jenkins Ubuntu 14.04 GCC 4.8 all, test Build Status
Jenkins Ubuntu 14.04 GCC 4.9 all, test Build Status
Jenkins Ubuntu 14.04 GCC 5.3 all, test Build Status
Jenkins Ubuntu 14.04 Clang 3.5 all Build Status
Jenkins OS X 10.10 Clang 3.5 - Build Status
Jenkins Windows 8.1 MSVC 2013 Update 5 all, test, install Build Status
Jenkins Windows 8.1 MSVC 2015 Update 1 all, test, install Build Status

ToDo

Documentation

A first basic libzeug documentation can be found here.

Dependencies

The following dev-libraries and programs need to be provided for correct CMake configuration:

iozeug

iozeug contains a function to read a file into an std::string.

loggingzeug

loggingzeug provides stream like logging functionality with customizable outputs (default output is to the console).

propertyguizeug

propertyguizeug contains the automatic generation of a GUI from a set of properties from reflectionzeug.

reflectionzeug

reflectionzeug allows the definition of properties that can be used to parameterize a program. It supports saving and loading properties to and from a file. The currently implemented property types are bool, float, double, std::string, FilePath, Color, every integral type, user-defined enums and glm types. Every prior type can be wrapped in an std::array. You can extend reflectionzeug and add your own types.

scriptzeug

scriptzeug offers a scripting environment to which one can register reflectionzeug objects that then can be manipulated within a scripting language. Currently implemented as scripting environment is Javascript, both with V8 (must be compiled and provided externally) and Duktape (default, included in scriptzeug).

signalzeug

signalzeug is a small library that provides classes for a simple signal system. Objects can define signals they can fire and other objects can register on those signals. Arbitrary parameters and even signal chaining are allowed.

threadingzeug

threadingzeug provides a parallel_for function that uses either OpenMP or the std::thread classes to execute a for loop concurrently.