beyond::core
is a library with a bunch of utilities that are associated with graphics and game programming. It forms
the core utilities of the Beyond Game Engine.
beyond::core
contains the following C++ library components:
algorithm
additional STL-style algorithm library.concurrency
(incomplete and unusable)
contains high level constructs for concurrent programming.coroutine
C++20 coroutine supporting library.container
contains additional STL-style containers.ecs
(incomplete and unusable)
contains an implementation of an entity component system.math
contains a mathematics library with a graphics focus.types
contains non-container utility types, like theoptional
andexpected
types with monadic extensions.random
contains random number generators and distributions with a standard<random>
-like interface.utils
contains utility and helper code.
This library is not in a usable state to the public yet. The features are incomplete and are coded as need. I will also make breaking changes frequently.
BEYOND_CORE_BUILD_TESTS
(OFF
by default) build testsBP_BUILD_TESTS_COVERAGE
(OFF
by default) test coverage withgcov
andlcov
BEYOND_CORE_BUILD_DOCUMENTATION
(OFF
by default) build doxygen documentationBEYOND_CORE_ENABLE_PCH
(ON
by default) precompiled header
BEYOND_CORE_WARNING_AS_ERROR
(ON
by default) treat compiler warnings as errorsBEYOND_CORE_USE_ASAN
(OFF
by default) address sanitizerBEYOND_CORE_USE_TSAN
(OFF
by default) thread sanitizerBEYOND_CORE_USE_MSAN
(OFF
by default) memory sanitizerBEYOND_CORE_USE_UBSAN
(OFF
by default) undefined behavior sanitizerBEYOND_CORE_USE_CMAKE_CONAN
(OFF
by default) get dependencies automatically by using cmake-conan
- The PCG library vendored in
random
belongs to Melissa O'Neill. See its website for more information. - The
optional
andexpected
types are modified from Sy Brand's tl::optional and tl::expected libraries
This repository is released under MIT License. See License for more information.