A collection of functions I think would be useful to have in C++.
Here is a list of features and what each offers:
- Colours
- Terminal colours modification
- Splitting into RGB channels
- Inversion and darkening of colours
- RGB <-> HSV conversion
- Containers/Ranges
- Range Analogues to STL algorithms
- Circular Queue
- Check for element in container range or numerical range
- Printing
- Stream operators for
- Iterators
- Containers (Arrays, Tuples, Linked Lists, Multi-Dimensional Containers...)
- Type-safe printf
- Automatically Timestamped Prints
- Iterators
- Iterator Base Class to avoid boilerplate code
- Iterator Pair Struct constructible from a variety of views
- Time
- Timer using std::chrono units
- Types
- Concepts for Number Systems
- Default type-alias for Number Systems
- Random
- RNG
- Random Container Modification
- Sorting
- Iterator and Range versions of sorting algorithms
- Step-by-step view
- Enumerations
- Enum Operators
- Constants
- Mathematical Constants with symbolic variables
- Consteval square root implementation
- Math Functions
- Common Math Functions
- Variadic versions of number operations (lcm, hyp...)
- Geometry
- 2D Vector
- Coordinates
- Angles
- Typed for radians, degrees...
- Complex Functions
- Trigonometric Functions
- Classification (obtuse, complementary...)
- Utilities
- Convenient macros for control structures
- Debugging Macros
- Bool <-> Signum Conversion