F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Fw::ExternalRedBlackTreeSet< T > Class Template Referencefinal

#include <Fw/DataStructures/ExternalRedBlackTreeSet.hpp>

Inheritance diagram for Fw::ExternalRedBlackTreeSet< T >:
Fw::SetBase< T > Fw::SizedContainer

Public Types

using ConstIterator = SetConstIterator< T >
 The type of a const iterator. More...
 
using Node = typename RedBlackTreeSetOrMapImpl< T, Nil >::Node
 The type of a tree node. More...
 
using Index = typename RedBlackTreeSetOrMapImpl< T, Nil >::Index
 The type of a tree node index. More...
 
- Public Types inherited from Fw::SetBase< T >
using ConstIterator = SetConstIterator< T >
 The type of a set const iterator. More...
 

Public Member Functions

 ExternalRedBlackTreeSet ()=default
 Zero-argument constructor. More...
 
 ExternalRedBlackTreeSet (Node *nodes, Index *freeNodes, FwSizeType capacity)
 
 ExternalRedBlackTreeSet (ByteArray data, FwSizeType capacity)
 
 ExternalRedBlackTreeSet (const ExternalRedBlackTreeSet< T > &set)
 Copy constructor. More...
 
 ~ExternalRedBlackTreeSet () override=default
 Destructor. More...
 
ExternalRedBlackTreeSet< T > & operator= (const ExternalRedBlackTreeSet< T > &set)
 operator= More...
 
ConstIterator begin () const override
 
void clear () override
 Clear the set. More...
 
ConstIterator end () const override
 
Success find (const T &element) const override
 
FwSizeType getCapacity () const override
 
FwSizeType getSize () const override
 
Success insert (const T &element) override
 
Success remove (const T &element) override
 
void setStorage (Node *nodes, Index *freeNodes, FwSizeType capacity)
 
void setStorage (ByteArray data, FwSizeType capacity)
 
- Public Member Functions inherited from Fw::SetBase< T >
void copyDataFrom (const SetBase< T > &set)
 Copy data from another set. More...
 
- Public Member Functions inherited from Fw::SizedContainer
bool isEmpty () const
 
bool isFull () const
 

Static Public Member Functions

static constexpr U8 getByteArrayAlignment ()
 
static constexpr FwSizeType getByteArraySize (FwSizeType capacity)
 

Friends

template<typename TT >
class ExternalRedBlackTreeSetTester
 

Additional Inherited Members

- Protected Member Functions inherited from Fw::SetBase< T >
 SetBase ()
 Zero-argument constructor. More...
 
virtual ~SetBase ()=default
 Destructor. More...
 
- Protected Member Functions inherited from Fw::SizedContainer
 SizedContainer ()
 Zero-argument constructor. More...
 
virtual ~SizedContainer ()=default
 Destructor. More...
 

Detailed Description

template<typename T>
class Fw::ExternalRedBlackTreeSet< T >

Definition at line 18 of file ExternalRedBlackTreeSet.hpp.

Member Typedef Documentation

◆ ConstIterator

template<typename T >
using Fw::ExternalRedBlackTreeSet< T >::ConstIterator = SetConstIterator<T>

The type of a const iterator.

Definition at line 32 of file ExternalRedBlackTreeSet.hpp.

◆ Index

template<typename T >
using Fw::ExternalRedBlackTreeSet< T >::Index = typename RedBlackTreeSetOrMapImpl<T, Nil>::Index

The type of a tree node index.

Definition at line 38 of file ExternalRedBlackTreeSet.hpp.

◆ Node

template<typename T >
using Fw::ExternalRedBlackTreeSet< T >::Node = typename RedBlackTreeSetOrMapImpl<T, Nil>::Node

The type of a tree node.

Definition at line 35 of file ExternalRedBlackTreeSet.hpp.

Constructor & Destructor Documentation

◆ ExternalRedBlackTreeSet() [1/4]

template<typename T >
Fw::ExternalRedBlackTreeSet< T >::ExternalRedBlackTreeSet ( )
default

Zero-argument constructor.

◆ ExternalRedBlackTreeSet() [2/4]

template<typename T >
Fw::ExternalRedBlackTreeSet< T >::ExternalRedBlackTreeSet ( Node nodes,
Index freeNodes,
FwSizeType  capacity 
)
inline

Constructor providing typed backing storage. nodes must point to at least capacity elements of type Node. freeNodes must point to at least capacity elements of type FwSizeType.

Parameters
nodesThe nodes
freeNodesThe free nodes
capacityThe capacity

Definition at line 51 of file ExternalRedBlackTreeSet.hpp.

◆ ExternalRedBlackTreeSet() [3/4]

template<typename T >
Fw::ExternalRedBlackTreeSet< T >::ExternalRedBlackTreeSet ( ByteArray  data,
FwSizeType  capacity 
)
inline

Constructor providing untyped backing storage. data must be aligned according to getByteArrayAlignment(). data must contain at least getByteArraySize(capacity) bytes.

Parameters
dataThe data,
capacityThe capacity

Definition at line 62 of file ExternalRedBlackTreeSet.hpp.

◆ ExternalRedBlackTreeSet() [4/4]

template<typename T >
Fw::ExternalRedBlackTreeSet< T >::ExternalRedBlackTreeSet ( const ExternalRedBlackTreeSet< T > &  set)
inline

Copy constructor.

Definition at line 70 of file ExternalRedBlackTreeSet.hpp.

◆ ~ExternalRedBlackTreeSet()

template<typename T >
Fw::ExternalRedBlackTreeSet< T >::~ExternalRedBlackTreeSet ( )
overridedefault

Destructor.

Member Function Documentation

◆ begin()

template<typename T >
ConstIterator Fw::ExternalRedBlackTreeSet< T >::begin ( ) const
inlineoverridevirtual

Get the begin iterator

Returns
The iterator

Implements Fw::SetBase< T >.

Definition at line 90 of file ExternalRedBlackTreeSet.hpp.

◆ clear()

template<typename T >
void Fw::ExternalRedBlackTreeSet< T >::clear ( )
inlineoverridevirtual

Clear the set.

Implements Fw::SizedContainer.

Definition at line 93 of file ExternalRedBlackTreeSet.hpp.

◆ end()

template<typename T >
ConstIterator Fw::ExternalRedBlackTreeSet< T >::end ( ) const
inlineoverridevirtual

Get the end iterator

Returns
The iterator

Implements Fw::SetBase< T >.

Definition at line 97 of file ExternalRedBlackTreeSet.hpp.

◆ find()

template<typename T >
Success Fw::ExternalRedBlackTreeSet< T >::find ( const T &  element) const
inlineoverridevirtual

Find a value associated with an element in the set

Returns
SUCCESS if the item was found
Parameters
elementThe element

Implements Fw::SetBase< T >.

Definition at line 101 of file ExternalRedBlackTreeSet.hpp.

◆ getByteArrayAlignment()

template<typename T >
static constexpr U8 Fw::ExternalRedBlackTreeSet< T >::getByteArrayAlignment ( )
inlinestatic

Get the alignment of the storage for an RedBlackTreeSetOrMapImpl

Returns
The alignment

Definition at line 156 of file ExternalRedBlackTreeSet.hpp.

◆ getByteArraySize()

template<typename T >
static constexpr FwSizeType Fw::ExternalRedBlackTreeSet< T >::getByteArraySize ( FwSizeType  capacity)
inlinestatic

Get the size of the storage for an ExternalArray of the specified capacity, as a byte array

Returns
The byte array size
Parameters
capacityThe capacity

Definition at line 161 of file ExternalRedBlackTreeSet.hpp.

◆ getCapacity()

template<typename T >
FwSizeType Fw::ExternalRedBlackTreeSet< T >::getCapacity ( ) const
inlineoverridevirtual

Get the capacity of the set (max number of entries)

Returns
The capacity

Implements Fw::SizedContainer.

Definition at line 109 of file ExternalRedBlackTreeSet.hpp.

◆ getSize()

template<typename T >
FwSizeType Fw::ExternalRedBlackTreeSet< T >::getSize ( ) const
inlineoverridevirtual

Get the size (number of entries)

Returns
The size

Implements Fw::SizedContainer.

Definition at line 113 of file ExternalRedBlackTreeSet.hpp.

◆ insert()

template<typename T >
Success Fw::ExternalRedBlackTreeSet< T >::insert ( const T &  element)
inlineoverridevirtual

Insert an element in the set

Returns
SUCCESS if there is room in the set
Parameters
elementThe element

Implements Fw::SetBase< T >.

Definition at line 117 of file ExternalRedBlackTreeSet.hpp.

◆ operator=()

template<typename T >
ExternalRedBlackTreeSet<T>& Fw::ExternalRedBlackTreeSet< T >::operator= ( const ExternalRedBlackTreeSet< T > &  set)
inline

operator=

Definition at line 81 of file ExternalRedBlackTreeSet.hpp.

◆ remove()

template<typename T >
Success Fw::ExternalRedBlackTreeSet< T >::remove ( const T &  element)
inlineoverridevirtual

Remove an element from the set

Returns
SUCCESS if the element was there
Parameters
elementThe element

Implements Fw::SetBase< T >.

Definition at line 124 of file ExternalRedBlackTreeSet.hpp.

◆ setStorage() [1/2]

template<typename T >
void Fw::ExternalRedBlackTreeSet< T >::setStorage ( Node nodes,
Index freeNodes,
FwSizeType  capacity 
)
inline

Set the backing storage (typed data) nodes must point to at least capacity elements of type Node. freeNodes must point to at least capacity elements of type FwSizeType.

Parameters
nodesThe nodes
freeNodesThe free nodes
capacityThe capacity

Definition at line 133 of file ExternalRedBlackTreeSet.hpp.

◆ setStorage() [2/2]

template<typename T >
void Fw::ExternalRedBlackTreeSet< T >::setStorage ( ByteArray  data,
FwSizeType  capacity 
)
inline

Set the backing storage (untyped data) data must be aligned according to getByteArrayAlignment(). data must contain at least getByteArraySize(capacity) bytes.

Parameters
dataThe data
capacityThe capacity

Definition at line 143 of file ExternalRedBlackTreeSet.hpp.

Friends And Related Function Documentation

◆ ExternalRedBlackTreeSetTester

template<typename T >
template<typename TT >
friend class ExternalRedBlackTreeSetTester
friend

Definition at line 24 of file ExternalRedBlackTreeSet.hpp.


The documentation for this class was generated from the following file: