Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



C++ Utilities to use for everyday projects. Fully tested on Linux and Windows x64 with C++17. Some libraries if not all, should work on MacOS.

The libraries, classes and methods are well documented in the code.

Disclaimer: subject to major and breaking changes while I'm still working on it, this is a WIP.

Compilation & Linking

Each part can be compiled as a static library (or header-only for some) with its own CMakeFile.

The easiest way to have all the libraries included in your project is to :

  1. Add this repository as a git submodule of your project ($ git submodule add
  2. Add this line at the top of your root CMakeFile : add_subdirectory(cpp-utils)
Name Linking Description Todo
tp_network header-only Asynchronous server and client written in with boost Asio ( Can exchange data serialized as string. Asio is included as a header-only standalone so we don't need to have it installed on the system or included. 1. UDP support 2. Decide if an event pipeline is necessary/cleaner (connection, reconnection, deconnection...)
tp_serializer static Serialization/Deserialization library. Works very well with tp_network, as it allows to send and receive various custom objects. Based on jsoncpp ( Jsoncpp is included as a header-only standalone so we don't need to have it installed on the system or included.
neon_engine static A small game engine written on top of the SDL2 library (included as a standalone in the project). Supports text and pictures thanks to SDL2_ttf & SDL2_image. (Not functional on linux for now). 1. Linux support
tp_ecs static Entity-Component-System (ECS)
tp_dlloader static Dynamic Library Loader. It retrieves a class from a shared library file. More info on the processus can be found here :
tp_filesystem static Abstractions to access files and folders, and to read, write in them.
tp_rloader static Resources Loader. It allows the creation of a resource folder, like AppData for Windows applications. Retrieving resources from the code is then easier.
tp_singleton header-only Abstraction of the singleton pattern.
tp_windows_utility static Small winAPI utilities


πŸ›  C++ Utilities (dl-loader, game/network engine (WIP), ECS, serializer, filesystem ...)








No releases published


No packages published