Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 3.02 KB

README.md

File metadata and controls

74 lines (55 loc) · 3.02 KB

Zeus logo

Build CodeFactor Generic badge Generic badge

What is Zeus?

Named after the Greek god of the sky and thunder and king of Olympus, Zeus is a C++ utility library that serves as the bedrock for all of my projects. It is built as a header-only library for ease of use that contains several utilities aimed at making coding in C++ easier. Some notable features of Zeus are:

  • A type-safe wrapper for performing bitwise operations on enum class types,
  • A customizable, cross-platform assert macro,
  • Several concepts for template programming,
  • Python-like functions for string operations,
  • A python-like version of range.

Dependencies

The following are core requirements of Zeus:

  • CMake 3.30+

Zeus supports the following platforms and compilers:

Platform (Compiler) Version
Windows (MSVC) 19.41
Linux (GCC) 14.0.1
Linux (LLVM Clang) 18.1

Warning

Zeus does not support Apple platforms.

In addition, Zeus depends on the following libraries:

Library Version
FMT 11.0.0
magic_enum 0.9.6

Contributing

There are three ways in which you can contribute to Zeus:

  • If you find a bug, please open an issue. Similarly, if you have a question about how to use it, or if something is unclear, please post an issue so it can be addressed.
  • If you have a fix for a bug, or a code enhancement, please open a pull request. Before you submit it though, make sure to abide by the rules written below.
  • If you have a feature proposal, you can either open an issue or create a pull request. If you are submitting a pull request, it must abide by the rules written below. Note that any new features need to be approved by me.

If you are submitting a pull request, the guidelines are the following:

  1. Ensure that your code follows the standards and formatting of the framework. The coding standards can be seen throughout the code, and the formatting is handled through the .clang-format file located at the root of the directory. Any changes that do not follow the style and format will be rejected.
  2. Ensure that all unit tests are working prior to submitting the pull request. If you are adding a new feature that has been approved, it is your responsibility to provide the corresponding unit tests (if applicable).

License

Zeus is published under the BSD-3 license and can be viewed here.