Home

Awesome

C++ Essentials

A self-contained, header-only, collection of some essential C++ utilities that I use extensively for data structure design and benchmarking. Meant to be used in larger projects.

NOTE: C++17 is needed to use the library.

The library is used in several other C++ libraries, such as

Integration

Integrating Essentials in your own project is very simple: just get the source code and include the header include/essentials.hpp in your code. No other configurations are needed.

If you use git, the easiest way to add Essentials is via git add submodule as follows.

git submodule add https://github.com/jermp/essentials.git

CMake

If you are using CMake, you can include the project as follows:

add_subdirectory(path/to/essentials)
target_link_libraries(YourTarget PRIVATE ESSENTIALS)

See also this example repository.

What's inside?

Examples

See the test folder for examples. To compile such examples, just type the following commands from the parent directory.

cd test
mkdir build
cd build
cmake ..
make