We want to have an implementation of positionless algorithms and a translation from C++ iterators to positionless, so that we can use positionless with STL algorithms.
- Construction from a range (forward access, bidirectional and random access)
paritioningaccessors:parts_count() -> size_tpart(size_t part_index) -> std::pair<Iterator, Iterator>is_part_empty(size_t part_index) -> boolpart_size(size_t part_index) -> size_t-- constant time for random access, otherwise linear
- growing parts (at the end):
growgrow_by
- shrinking parts (for bidirectional collections):
shrinkshrink_by
- transferring elements between parts:
transfer_to_prevtransfer_to_next
- creation and destruction of parts:
add_part_end/add_part_beginadd_parts_end/add_parts_beginremove_part
TODO
cmake -D CMAKE_BUILD_TYPE=Release -G Ninja -S . -B .build
cmake --build .build
ctest --test-dir .build