Releases: orxfun/orx-imp-vec
Releases · orxfun/orx-imp-vec
Crate is converted to no_std
- Crate is converted into no_std
Index
andIndexMut
are implemented- prelude module is removed, required dependencies are added to lib
Debug
implementation is revised to only inform about the elements rather than impl details.- Examples are added.
- Motivation section of the docs is revised.
PinnedVec version upgraded (3.3)
- PinnedVec and impelentors' versions are upgraded.
- Test coverage is improved.
PinnedVec version upgraded (2.11)
Merge pull request #27 from orxfun/PinnedVec-version-upgraded PinnedVec version upgraded (2.11)
Improvements in the api
- Debug implementation is fixed, displaying the elements of the underlying pinned vector, rather than unsafe cell.
PartialEq
implementations are extended to all pinned vectors, standard vector and slice.FromIterator
trait is implemented.with_
methods are added to create imp vectors with specific pinned vectors, such aswith_doubling_growth
orwith_fixed_capacity
.
IntoIterator is required for PinnedVec
- Upgraded the orx-pinned-vec dependency to version 2.9 which requires all pinned vectors to implement
IntoIterator
. IntoIterator
is implemented forImpVec
.- Tests extended.
Support for Concurrency: `zero_memory` argument in grow_to methods
Also UnsafeCell
is made use of to model interior mutability.
`ImpVec` features are scoped and reduced
ImpVec
responsibilities are redefined / reduced:ImpVec
allows forimp_push
andimp_extend_from_slice
methods which enable growth with a shared reference.- It does not provide any methods to enable building self referential collections. Those features are formalized, structured and extracted to orx_selfref_col crate.
- documentation is revised accordingly.
Approach to build self referential collections is defined
The imp-vec approach to enable building self referential collections is more mature now through the following changes.
- The vector no longer needs and allows immutable push operation; instead it makes use of the
push_get_ref
andmove_get_ref
methods. - Necessary unsafe methods are limited to a couple of methods and they are documented in detail.
- Safe methods which are useful in self referential collections are implemented:
replace_at
self_referential_elements
module is defined. In this moduleset_next
andset_prev
methods are defined for the elements implementingSelfRefNext
andSelfRefPrev
traits.FromIterator
is implemented.- Documentation revised.
- Code reorganized.
- Test coverage significantly increased.