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



[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]
- Missing page
- Outdated page #
- // Comment
- Keyword
- Control flow
- #Directive
- Type {}
- Type alias
- Type alias template<>
- Variable
- Variable template<>
- Callable variable
- Callable variable template<>
- Concept<>
- Namespace {}
- Namespace alias
- Function()
- [[Attribute]]
- "String"
- Number
- Macro
- Function-like macro()