Releases: orxfun/orx-fixed-vec
Releases · orxfun/orx-fixed-vec
`try_reserve_maximum_concurrent_capacity` method
try_reserve_maximum_concurrent_capacity
method is defined which is essential for concurrent wrappers such as PinnedConcurrentCol
.
Support for Concurrency: `zero_memory` argument in grow_to methods
Merge pull request #19 from orxfun/`zero_memory`-argument-in-grow_to-… …methods `zero_memory` argument in grow_to methods
Support for Concurrency
concurrently_grow_to
method is implemented.- Returned back to
prelude
approach to includePinnedVec
dependencies. - Capacity related tests are extended.
`grow_to` method is implemented
As fixed vector cannot grow, it is responsible for returning Ok
when there is sufficient capacity or the correct Err
otherwise..
`get_ptr_mut` and `FromIterator` implemented
prelude
module is removed. Insteadpub use orx_pinned_vec::PinnedVec;
is added for convenience.- unsafe
get_ptr_mut
pinned vec method is implemented. - test coverage is improved.
FromIterator
is implemented.
`contains_reference` & `set_len`
PinnedVec::contains_reference
method is implemented forFixedVec
- unsafe
set_len
method is implemented.
major pinned-vec 2.0.0 revision
FixedVec
implements "orx_pinned_vec::PinnedVec" version 2.0.- pinned elements guarantee is formalized and documented,
- unsafe methods such as
clone
orinsert
are now safe. pinned vector on its own cannot build inter-element references; hence, these methods are not unsafe. this responsibility is passed to the struct enabling these references, namely, orx_selfref_col. - in addition to being a marker trait, this crate now provides
test_pinned_vec
function which is essential in asserting that a pinned vector implementation satisfies the required guarantees.
Clone
is implemented.Debug
is implemented.
Documentation revision wrt linked-list-1.0.0
Merge pull request #10 from orxfun/Documentation-revision-wrt-linked-… …list-1.0.0 Documentation revision wrt linked-list-1.0.0
`iter_mut` and `orx_pinned_vec` version = 1.0
iter_mut
is implemented.
Also updated the dependency of PinnedVec
to orx_pinned_vec version 1.0 which finalizes the definigion of orx_pinned_vec::self_referential_elements
module.
Benchmarks added
- Benchmarks on the three basic operations: are implemented:
- growth
- serial access
- random access
- Operations are benchmarks and results are reported:
- in all operations,
orx_fixed_vec::FixedVec
has equivalent performance tostd::vec::Vec
, - this is no surprise; however, it is important to have the benchmarks to make sure that an accidental indirection does not cause performance issues.
- in all operations,
- Documentation is revised accordingly.