- Documentation (coming soon)
- Issue tracker
- Discussions
Please open an issue using the appropriate template.
Please open an issue using the enhancement template.
The Wheel Library uses a forking workflow for external contributions. When you are ready to submit your changes for review and integration, please open a pull request from your fork repository to this repository. Make sure your pull request has a corresponding open issue, otherwise your submission may be rejected.
- Unless otherwise required, file names should be all lowercase with underscores (
_) separating each word. - Files should end with a single empty line.
- Lines should not have trailing whitespace.
The Wheel Library mixes styles from Google, LLVM, and the C++ Standard library. We use ClangFormat
to assist with auto formatting the code. Check out the .clang-format file in the repository's root to see the
specific style settings. Some rules worth mentioning (and that can't be auto-formatted or checked) include:
- Class names should, in general, use
PascalCaseorUpperCamelCase. Meta-functions, niebloids, and function objects are notable exceptions that usesnake_case. - Function names should use
snake_case.
In general, the Wheel Library uses the formatting conventions that Craig Scott uses in his book Professional CMake: A Practical Guide. Specific rules, either inspired by or taken from that book include:
- Function and macro names should use
snake_case. - Indentations should have a width of 2 and use
[SPACE]characters instead of[TAB]characters.