|
|
- # gplib
-
- General Purpose library for Freestanding C++ environment and POSIX systems.
-
- > Expects C++17
-
- ## Datastructures
-
- ### `buffer`
-
- Also named "slices" in other languages, they are a combination of a pointer and a size.
-
- ### `array`
-
- A fixed size, inplace array.
-
- ### `indexed_array`
-
- A resizable, fragmentation resistant array, it associates elements with fixed indices. It will reuse deleted indices.
-
- ### `optional`
-
- A Maybe monad, will not allocate for final classes or primitives.
-
- ### `variant` and `fixed_variant`
-
- ### `ring_list`
-
- ### `bloomfilter`
-
- ### `quotient_filter`
-
- ## Algorithms
-
- ## Tools
-
- ### Allocators
-
- ### Renderer
-
- ### Internal file-system
-
- ## GP Configuration
-
- ### `enum class gp_errorcodes`
-
- This `enum` should not contain any non-zero value.
-
- - `infinite_skipstone`: used when a linear probing reaches infinity lookup
-
- ### Generic elements
-
- - `constexpr bool gp_config::has_exceptions`: enables or disables exceptions throwing
- - `constexpr bool gp_config::has_buffer_bounds`: enables or disables bound checking
- - `constexpr size_t gp_config::arc4random_strength`: determines the amount of shuffling of the arc4random PRNG
- - `constexpr /* T */ gp_config::assertion`: `T` is a callable type taking a boolean predicate and a `const char*`
- - `typedef /* T */ file_descriptor_t`: `T` is an integer type. No negative value should be expected
-
-
- ### Rendering and mathematics
-
- - `using gp_config::rendering::default_type`: provide a numeric type for rendering and for the mathematical framework
- - `constexpr default_type gp_config::rendering::epsilon`: a small value of the default type (example for float: `0.001f`)
- - `#define GP_CONFIG__RENDERING__COLOR_T`: a configuration define for storing a color for rendering purposes
-
- ### Memory
-
- - `using gp_config::memory_module::default_allocator`: a default constructible allocator type
- - `constexpr bool gp_config::memory_module::is_ok`: true if the default allocator is able to allocate, false if not
|