Crate arae

Source
Expand description

arae provides Cursed, a trait for types that provide the ability to access their elements given a Cursor.

§Example

use arae::{CurVec, CursedExt, Bounded};

// Create a new `CurVec` of length 10 with the elements
// initialized via `Default::default`.
let mut vec = CurVec::new_with_default(10);

// Create two cursors pointing the the head of the vec.
let write_cursor = vec.head();
let read_cursor = vec.head();

*vec.get_mut(write_cursor) = 1;

assert_eq!(*vec.get(read_cursor), 1);

Modules§

iter
Iterators for Cursed types.

Structs§

AtomicCursor
An atomic wrapper around a Cursor.
CurVec
A heap-allocated, fixed-size, array of values in contiguous memory designed for efficient access via Cursors.
Cursor
An structure that represents a location within a Cursed structure.

Traits§

AsCursor
AsCursor is for simple Cursed owners where it makes sense to be able to return a single Cursor.
Bounded
Bounded types are Cursed Sequences that know their head and tail locations.
Contiguous
Contiguous types are Bounded Sequences that guarantee elements reside next to each other in memory (ie. [T]).
Cursed
Cursed types provide the ability to access their elements via Cursors.
CursedExt
Extended functionality for implementations of Cursed.
Sequence
Sequence types are Cursed types that provide the ability to move forwards and backwards through their elements.