Cyclic data types are series of structs, enums, types and functions to create a series of fast data types.
This achieved by using generic arrays and start & end points. As a result, insertions, deletions at the beginning and end of any datatype occurs in O(1). However, this is at the cost of limiting the size of the each datatype at compile time.
The list module contains a series of structs to create cyclic lists and their utility functionalities.
Cyclic List Example
text
1 ↔ 2 ↔ ... ↔ n
↑ ↑
└─────────────┘
Note: Even though the diagram uses arrow to denote the relationship between nodes/elements; implying a linked node structure - however, the implementation in this crate uses arrays.
The stack module contains a series of structs to create stacks and their utility functionalities.