Requirements#
Containers Library Requirements
|
status: draft
security: YES
safety: ASIL_B
|
||||
tags: requirements, containers_library
version: 1
realizes: wp__requirements_comp
|
|||||
Generic Document
|
|||||
Functional Requirements#
Dynamic Array
|
status: valid
security: YES
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
derived from: feat_req__baselibs__containers_library
satisfied by: comp__baselibs_containers
fulfilled by: comp_arc_sta__baselibs__containers
|
|||||
The Containers library shall provide a fixed-size array container with construction-time size specification. |
|||||
Component Requirement
|
|||||
Intrusive List
|
status: valid
security: YES
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
testlink: IntrusiveList__NotLinkedListElement (passed); IntrusiveList__EmptyIterator (passed); IntrusiveList__EmptyList (passed); IntrusiveList__SingleElementMinimalChecks (passed); IntrusiveList__SingleElementBasedIteratorChecks (passed); IntrusiveList__SingleElementInsertRemoveChecks (passed); IntrusiveList__TwoElementsInsertRemoveChecks (passed); IntrusiveList__SixElementsInsertRemoveChecks (passed); IntrusiveList__MoveAssignmentTest (passed); IntrusiveList__EraseTest (passed); IntrusiveList__SwapTest (passed); IntrusiveList__DisposeTest (passed); IntrusiveList__MultiTagTest (passed);
version: 1
derived from: feat_req__baselibs__containers_library
satisfied by: comp__baselibs_containers
fulfilled by: comp_arc_sta__baselibs__containers
|
|||||
The Containers library shall provide an intrusive doubly-linked list based on the C++ standardization proposal P0406R1. |
|||||
Component Requirement
|
|||||
Non-Functional Requirements#
Assumptions of Use (AoU)#
Check Capacity
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall verify sufficient capacity or handle allocation failures before insertion operations to prevent exceeding container limits and undefined behavior. |
|||||
Assumption of Use Requirement
|
|||||
Iterator Validity
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall ensure that iterators are not used after operations that invalidate them and refresh iterators after modifying operations. |
|||||
Assumption of Use Requirement
|
|||||
Element Lifetime and Ownership
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall ensure that elements stored in containers remain valid throughout their lifetime in the container, and for intrusive containers, that element objects are not destroyed or moved while contained within the container. |
|||||
Assumption of Use Requirement
|
|||||
Thread Safety
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Non-Functional
version: 1
|
|||||
The user shall implement external synchronization mechanisms when accessing or modifying container objects from multiple threads concurrently, as the library provides no internal thread safety guarantees. |
|||||
Assumption of Use Requirement
|
|||||
Index Bounds Checking
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall ensure that all index-based access operations use valid indices within the container’s current size range to prevent out-of-bounds access and undefined behavior. |
|||||
Assumption of Use Requirement
|
|||||
Container State Verification
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall verify container state before performing operations that depend on specific states, such as checking if a container is non-empty before accessing elements. |
|||||
Assumption of Use Requirement
|
|||||
Memory Resource Management
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Non-Functional
version: 1
|
|||||
The user shall provide sufficient memory resources for all container operations. |
|||||
Assumption of Use Requirement
|
|||||
Element Type Requirements
|
status: valid
security: NO
safety: ASIL_B
|
||||
tags: baselibs, containers
reqtype: Functional
version: 1
|
|||||
The user shall ensure that element types are copy constructible, move constructible and destructible, and additionally for intrusive containers that they provide the required intrusive node members. |
|||||
Assumption of Use Requirement
|
|||||