XIEITE
General-purpose C++ utility library(with a slight focus on metaprogramming)
This project extends the standard library without external dependencies and provides a somewhat organized collection of questionably useful tools for assisting in various shenanigans
Features:
- Integer division rounding functions
- A non-recursive type list
- The largest collection of compiler and platform detection macros on the internet
- Big integer class
[Source code]
This library is currently header-only.
Requirements
- C++26 (but most is C++23, and some parts support C89)- GCC trunk or Clang trunk (has bugs) or MSVC latest (not fully supported)
Usage
cmake_minimum_required (VERSION 3.25 )project (myProject )include (FetchContent )# ... target_compile_features (myProject PRIVATE cxx_std_26 )FetchContent_Declare (xieite GIT_REPOSITORY "https://github.com/Eczbek/xieite" GIT_TAG main )FetchContent_MakeAvailable (xieite )target_link_libraries (myProject PRIVATE xieite )
All code in this library is contained within the '
xieite
' namespace.Preprocessor macros are prefixed with '
XIEITE
' to prevent naming collisions.Internal identifiers are prefixed with '
DETAIL_XIEITE
' and are not intended to be used directly.This documentation is currently incomplete.
Key:
- [Hyperlink]
-
- Outdated page
-
// Comment
-
keyword
-
control_flow
-
#directive
-
type {}
-
variable
-
callable_variable ()
-
concept <>
-
namespace {}
-
function ()
-
[[attribute ]]
-
"string"
-
number
-
MACRO
-
FUNCTIONLIKE_MACRO ()