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

#include <Fw/DataStructures/RedBlackTreeMap.hpp>

Inheritance diagram for Fw::RedBlackTreeMap< K, V, C >:
Fw::MapBase< K, V > Fw::SizedContainer

Public Types

using ConstIterator = MapConstIterator< K, V >
 The type of a const iterator. More...
 
using Node = typename RedBlackTreeSetOrMapImpl< K, V >::Node
 The type of a tree node. More...
 
using Nodes = Node[C]
 The type of the tree node array. More...
 
using Index = typename RedBlackTreeSetOrMapImpl< K, V >::Index
 The type of a tree node index. More...
 
using FreeNodes = Index[C]
 The type of the free node array. More...
 
- Public Types inherited from Fw::MapBase< K, V >
using ConstIterator = MapConstIterator< K, V >
 The type of a map const iterator. More...
 

Public Member Functions

 RedBlackTreeMap ()
 Zero-argument constructor. More...
 
 RedBlackTreeMap (const RedBlackTreeMap< K, V, C > &map)
 Copy constructor. More...
 
 ~RedBlackTreeMap () override=default
 Destructor. More...
 
RedBlackTreeMap< K, V, C > & operator= (const RedBlackTreeMap< K, V, C > &map)
 operator= More...
 
ConstIterator begin () const override
 
void clear () override
 Clear the map. More...
 
ConstIterator end () const override
 
Success find (const K &key, V &value) const override
 
FwSizeType getCapacity () const override
 
FwSizeType getSize () const override
 
Success insert (const K &key, const V &value) override
 
Success remove (const K &key, V &value) override
 
- Public Member Functions inherited from Fw::MapBase< K, V >
void copyDataFrom (const MapBase< K, V > &map)
 Copy data from another map. More...
 
- Public Member Functions inherited from Fw::SizedContainer
bool isEmpty () const
 
bool isFull () const
 

Friends

template<typename KK , typename VV , FwSizeType CC>
class RedBlackTreeMapTester
 

Additional Inherited Members

- Protected Member Functions inherited from Fw::MapBase< K, V >
 MapBase ()
 Zero-argument constructor. More...
 
virtual ~MapBase ()=default
 Destructor. More...
 
- Protected Member Functions inherited from Fw::SizedContainer
 SizedContainer ()
 Zero-argument constructor. More...
 
virtual ~SizedContainer ()=default
 Destructor. More...
 

Detailed Description

template<typename K, typename V, FwSizeType C>
class Fw::RedBlackTreeMap< K, V, C >

Definition at line 15 of file RedBlackTreeMap.hpp.

Member Typedef Documentation

◆ ConstIterator

template<typename K, typename V, FwSizeType C>
using Fw::RedBlackTreeMap< K, V, C >::ConstIterator = MapConstIterator<K, V>

The type of a const iterator.

Definition at line 35 of file RedBlackTreeMap.hpp.

◆ FreeNodes

template<typename K, typename V, FwSizeType C>
using Fw::RedBlackTreeMap< K, V, C >::FreeNodes = Index[C]

The type of the free node array.

Definition at line 47 of file RedBlackTreeMap.hpp.

◆ Index

template<typename K, typename V, FwSizeType C>
using Fw::RedBlackTreeMap< K, V, C >::Index = typename RedBlackTreeSetOrMapImpl<K, V>::Index

The type of a tree node index.

Definition at line 44 of file RedBlackTreeMap.hpp.

◆ Node

template<typename K, typename V, FwSizeType C>
using Fw::RedBlackTreeMap< K, V, C >::Node = typename RedBlackTreeSetOrMapImpl<K, V>::Node

The type of a tree node.

Definition at line 38 of file RedBlackTreeMap.hpp.

◆ Nodes

template<typename K, typename V, FwSizeType C>
using Fw::RedBlackTreeMap< K, V, C >::Nodes = Node[C]

The type of the tree node array.

Definition at line 41 of file RedBlackTreeMap.hpp.

Constructor & Destructor Documentation

◆ RedBlackTreeMap() [1/2]

template<typename K, typename V, FwSizeType C>
Fw::RedBlackTreeMap< K, V, C >::RedBlackTreeMap ( )
inline

Zero-argument constructor.

Definition at line 55 of file RedBlackTreeMap.hpp.

◆ RedBlackTreeMap() [2/2]

template<typename K, typename V, FwSizeType C>
Fw::RedBlackTreeMap< K, V, C >::RedBlackTreeMap ( const RedBlackTreeMap< K, V, C > &  map)
inline

Copy constructor.

Definition at line 58 of file RedBlackTreeMap.hpp.

◆ ~RedBlackTreeMap()

template<typename K, typename V, FwSizeType C>
Fw::RedBlackTreeMap< K, V, C >::~RedBlackTreeMap ( )
overridedefault

Destructor.

Member Function Documentation

◆ begin()

template<typename K, typename V, FwSizeType C>
ConstIterator Fw::RedBlackTreeMap< K, V, C >::begin ( ) const
inlineoverridevirtual

Get the begin iterator

Returns
The iterator

Implements Fw::MapBase< K, V >.

Definition at line 78 of file RedBlackTreeMap.hpp.

◆ clear()

template<typename K, typename V, FwSizeType C>
void Fw::RedBlackTreeMap< K, V, C >::clear ( )
inlineoverridevirtual

Clear the map.

Implements Fw::SizedContainer.

Definition at line 81 of file RedBlackTreeMap.hpp.

◆ end()

template<typename K, typename V, FwSizeType C>
ConstIterator Fw::RedBlackTreeMap< K, V, C >::end ( ) const
inlineoverridevirtual

Get the end iterator

Returns
The iterator

Implements Fw::MapBase< K, V >.

Definition at line 85 of file RedBlackTreeMap.hpp.

◆ find()

template<typename K, typename V, FwSizeType C>
Success Fw::RedBlackTreeMap< K, V, C >::find ( const K &  key,
V &  value 
) const
inlineoverridevirtual

Find a value associated with a key in the map

Returns
SUCCESS if the item was found
Parameters
keyThe key
valueThe value

Implements Fw::MapBase< K, V >.

Definition at line 89 of file RedBlackTreeMap.hpp.

◆ getCapacity()

template<typename K, typename V, FwSizeType C>
FwSizeType Fw::RedBlackTreeMap< K, V, C >::getCapacity ( ) const
inlineoverridevirtual

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

Returns
The capacity

Implements Fw::SizedContainer.

Definition at line 97 of file RedBlackTreeMap.hpp.

◆ getSize()

template<typename K, typename V, FwSizeType C>
FwSizeType Fw::RedBlackTreeMap< K, V, C >::getSize ( ) const
inlineoverridevirtual

Get the size (number of entries)

Returns
The size

Implements Fw::SizedContainer.

Definition at line 101 of file RedBlackTreeMap.hpp.

◆ insert()

template<typename K, typename V, FwSizeType C>
Success Fw::RedBlackTreeMap< K, V, C >::insert ( const K &  key,
const V &  value 
)
inlineoverridevirtual

Insert a (key, value) pair in the map

Returns
SUCCESS if there is room in the map
Parameters
keyThe key
valueThe value

Implements Fw::MapBase< K, V >.

Definition at line 105 of file RedBlackTreeMap.hpp.

◆ operator=()

template<typename K, typename V, FwSizeType C>
RedBlackTreeMap<K, V, C>& Fw::RedBlackTreeMap< K, V, C >::operator= ( const RedBlackTreeMap< K, V, C > &  map)
inline

operator=

Definition at line 71 of file RedBlackTreeMap.hpp.

◆ remove()

template<typename K, typename V, FwSizeType C>
Success Fw::RedBlackTreeMap< K, V, C >::remove ( const K &  key,
V &  value 
)
inlineoverridevirtual

Remove a (key, value) pair from the map

Returns
SUCCESS if the key was there
Parameters
keyThe key
valueThe value

Implements Fw::MapBase< K, V >.

Definition at line 113 of file RedBlackTreeMap.hpp.

Friends And Related Function Documentation

◆ RedBlackTreeMapTester

template<typename K, typename V, FwSizeType C>
template<typename KK , typename VV , FwSizeType CC>
friend class RedBlackTreeMapTester
friend

Definition at line 20 of file RedBlackTreeMap.hpp.


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