Memory module¶
Safe DDS provides a memory module that is used throughout the whole library’s code base to handle and encapsulate memory management. This module is responsible for handling memory objects, both static and preallocated, as explained in Memory management.
Byte array view interfaces¶
Memory module provides a set of interfaces for abstracting and protecting raw memory access:
These interfaces are implemented by:
Containers¶
Safe DDS provides a set of interfaces that define multiple containers that are used throughout the whole library to handle collections of objects:
These interfaces are implemented with a static memory approach by:
And with a dynamic memory approach by:
Additionally, the Memory Unit provides the following extra containers:
Finally, the Memory Unit provides a set of interfaces for managing element ranges:
These interfaces are implemented by:
Optional<T> structure¶
Optional<T> is a structure template that manages an optional contained value, i.e. a value that may or may not be present.
This structure provides methods to get, set, check, and reset the type value.
Pair<FirstType, SecondType> structure¶
Pair<FirstType, SecondType> is a structure template that holds two objects of different types.