https://github.com/eddieavd/uti
std replacement for c++ - universal template implementations
https://github.com/eddieavd/uti
Last synced: about 1 month ago
JSON representation
std replacement for c++ - universal template implementations
- Host: GitHub
- URL: https://github.com/eddieavd/uti
- Owner: eddieavd
- Created: 2023-09-10T17:29:21.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-30T10:52:24.000Z (about 2 months ago)
- Last Synced: 2025-03-30T11:28:43.492Z (about 2 months ago)
- Language: C++
- Size: 1.08 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# uti - universal template implementations
### a humble attempt at a modern c++ standard library
# components
## containers
- array
- vector
- list
- prefix_array
- segment_tree
- tuple
- variant_vector
- view
- buffer## allocators
- allocator traits interface
- new/delete allocator
- default allocator
- resource traits interface
- malloc memory resource
- static bump memory resource
- static freelist memory resource## string
- string
- string_view
- string_switch## meta
- type_list
- fast join
- fast algos
- random# usage
`uti` requires at least `c++23` (for `deducing this` among other things).
for full compile-time support, we require `c++26` to be able to cast `void` pointers at compile time.side note: clang-18 frontend crashes when parsing some of the heavily-templated `variant_vector` code. the issue is fixed in clang-19
## cmake
```cmake
...
include( FetchContent )# build tests by setting:
set( UTI_TEST ON )# build benchmarks by setting:
set( UTI_BENCH ON )FetchContent_Declare(
uti
GIT_REPOSITORY https://github.com/eddieavd/uti.git
)
FetchContent_MakeAvailable( uti )target_link_libraries( PRIVATE uti::uti )
...
```