Skip to content

Beyond-Engine/Core

Repository files navigation

Beyond Core

GCC-10 Linux

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.

Codemap

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 the optional and expected types with monadic extensions.
  • random
    contains random number generators and distributions with a standard <random>-like interface.
  • utils
    contains utility and helper code.

Usage

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.

Build

CMake Options

  • BEYOND_CORE_BUILD_TESTS (OFF by default) build tests
  • BP_BUILD_TESTS_COVERAGE (OFF by default) test coverage with gcov and lcov
  • BEYOND_CORE_BUILD_DOCUMENTATION (OFF by default) build doxygen documentation
  • BEYOND_CORE_ENABLE_PCH (ON by default) precompiled header

Other useful options for developing purpose

  • BEYOND_CORE_WARNING_AS_ERROR (ON by default) treat compiler warnings as errors
  • BEYOND_CORE_USE_ASAN (OFF by default) address sanitizer
  • BEYOND_CORE_USE_TSAN (OFF by default) thread sanitizer
  • BEYOND_CORE_USE_MSAN (OFF by default) memory sanitizer
  • BEYOND_CORE_USE_UBSAN (OFF by default) undefined behavior sanitizer
  • BEYOND_CORE_USE_CMAKE_CONAN (OFF by default) get dependencies automatically by using cmake-conan

Acknowledgements

License

This repository is released under MIT License. See License for more information.

About

Core utilities for the beyond game engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published