Browse Source

Put some documentation

devel
Ludovic 'Archivist' Lagouardette 3 years ago
parent
commit
9780901ac4
2 changed files with 68 additions and 1 deletions
  1. +1
    -0
      .gitignore
  2. +67
    -1
      README.md

+ 1
- 0
.gitignore View File

@ -38,3 +38,4 @@ bin/tests.profdata
bin/tests.profraw
bin/test_n
render.bmp
README.html

+ 67
- 1
README.md View File

@ -1,3 +1,69 @@
# gplib
General Purpose library for POSIX systems
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

Loading…
Cancel
Save