Requirements#

Rust Containers Library Requirements
status: draft
security: NO
safety: ASIL_B
tags: requirements, containers_rust_library
version: 1

Functional Requirements#

Fixed-Capacity Vector
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated vector container with construction-time capacity specification.

Inline-Storage Vector
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a vector container with a capacity determined at compile-time, which stores the elements within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible vector.

Fixed-Capacity String
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated, UTF-8 encoded string data type with construction-time capacity specification.

Inline-Storage String
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a UTF-8 encoded string data type with a capacity determined at compile-time, which stores the codepoints within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible string.

Fixed-Capacity Queue
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated double-ended queue container with construction-time capacity specification.

Inline-Storage Queue
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a queue container with a capacity determined at compile-time, which stores the elements within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible queue.

Fixed-Capacity Hashmap
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated hashmap container with construction-time capacity specification.

Inline-Storage Hashmap
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a hashmap container with a capacity determined at compile-time, which stores the elements within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible hashmap.

Fixed-Capacity Hashset
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated hashset container with construction-time capacity specification.

Inline-Storage Hashset
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a hashset container with a capacity determined at compile-time, which stores the elements within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible hashset.

Fixed-Capacity B-Tree
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a heap-allocated B-tree container with construction-time capacity specification.

Inline-Storage B-Tree
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall provide a B-tree container with a capacity determined at compile-time, which stores the elements within the data structure itself. This container shall have a stable, precisely defined memory layout, capable of serving as the basis for an ABI-compatible B-tree.

Type Safety
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
version: 1

The Rust Containers library shall enforce compile-time type safety for all container operations.

Non-Functional Requirements#

Deterministic Behavior
status: valid
security: NO
safety: ASIL_B
reqtype: Non-Functional
version: 1

The Rust containers library shall provide deterministic behavior.

No Heap Allocation
status: valid
security: NO
safety: ASIL_B
reqtype: Non-Functional
version: 1

Inline-storage containers shall never allocate heap memory.

No Reallocation
status: valid
security: NO
safety: ASIL_B
reqtype: Non-Functional
version: 1

Fixed-capacity containers shall never allocate or re-allocate memory after their initial construction.