This library provides a stronger version of sequence containers
(let containers (and its subranges) always have several accompanying results of algorithms/views), <algorithm>
and <ranges>
(when the input sequence changes, refresh output values/ranges in logarithmic time complexity). To help understand what kind of problems it solves: Dynamic problem (algorithms) - Wikipedia, Augmented map - Wikipedia.
- augmented deque (under development) https://jhcarl0814.github.io/augmented_containers_doc/augmented_deque.html
- augmented sequence (under development) https://jhcarl0814.github.io/augmented_containers_doc/augmented_sequence.html
- augmented graph (under development) https://jhcarl0814.github.io/augmented_containers_doc/augmented_graph.html
- This library depends on C++23. Support of legacy versions (C++11, 14, 17, 20) is possible but takes extra efforts.
- (Each component in this library is a single header file.)
- Under Development
- augmented deque
- augmented sequence
- augmented graph
- Design Completed, Scheduled for Development
- augmented *****
- augmented ***/***/********/********
- augmented deque and augmented sequence
- node types change from "depend on
struct config_t
" to "depend on size of buffer and size management strategy" to prepare forsplice
,merge
andextract
operations and reduce code bloat -
ctor(range)
,insert(range)
,insert_range(range)
,append_range(range)
,prepend_range(range)
change from inserting one by one to bulk loading -
assign
andoperator=
reuse existing nodes ifmove/copy assignable
- sort out and make clear requirements of
projector
andaccumulator
- add api section to doc
- node types change from "depend on
- augmented sequence and augmented graph
- change from raw pointer to pointer type suggested by user-supplied allocator
- augmented sequence
-
erase(range)
change from erasing one by one to spliting and concatenating
-
explicit object parameter (deducing this)
compilers' supporthomogeneous variadic function parameters
(P1219)