Back to Fprime

SetOrMapImplEntry

Fw/DataStructures/docs/SetOrMapImplEntry.md

4.2.22.5 KB
Original Source

SetOrMapImplEntry

SetOrMapImplEntry is a final class template defined in Fw/DataStructures. It represents an iterator for a set or a map implementation.

1. Template Parameters

SetOrMapImplEntry has the following template parameters.

KindNamePurpose
typenameKEThe type of a key in a map or the element of a set
typenameVNThe type of a value in a map or Nil in a set

SetOrMapImplEntry statically asserts the following:

  • KE is default constructible.
  • KE is assignable to KE&.
  • VN is default constructible.
  • VN is assignable to VN&.

2. Base Class

SetOrMapImplEntry<KE, VN> is publicly derived from the following templates:

  1. MapEntryBase<KE, VN>.
mermaid
classDiagram
    MapEntryBase <|-- SetOrMapImplEntry

3. Private Member Variables

SetOrMapImplEntry has the following private member variables.

NameTypePurposeDefault Value
m_keyOrElementKEThe map key or set elementC++ default initialization
m_valueOrNilVNThe value or NilC++ default initialization

4. Public Constructors and Destructors

4.1. Zero-Argument Constructor

c++
SetOrMapImplEntry()

Use default initialization of members.

4.2. Constructor Providing Members

c++
SetOrMapImplEntry(const KE& keyOrElement, const VN& valueOrNil)
  1. Set m_keyOrElement = keyOrElement.

  2. Set m_valueOrNil = valueOrNil.

4.3. Copy Constructor

c++
SetOrMapImplEntry(const SetOrMapImplEntry<KE, VN>& iterator)

Set *this = iterator.

4.4. Destructor

c++
~SetOrMapImplEntry() override

Defined as = default.

5. Public Member Functions

5.1. operator=

c++
SetOrMapImplEntry& operator=(const SetOrMapImplEntry&<KE, VN> iterator)
  1. If this != &iterator

    1. Set m_keyOrElement = iterator.keyOrElement.

    2. Set m_valueOrNil = iterator.valueOrNil.

5.3. getElement

c++
const KE& getElement() const

Return a reference to m_keyOrElement.

5.2. getKey

c++
const KE& getKey() const override

Return a reference to m_keyOrElement.

5.3. getValue

c++
const VN& getValue() const override

Return a reference to m_valueOrNil.

5.6. setKeyOrElement

c++
void setKeyOrElement(const KE& keyOrElement) const

Set m_keyOrElement = keyOrElement.

5.7. setValueOrNil

c++
void setValueOrNil(const VN& valueOrNil) const

Set m_valueOrNil = valueOrNil.