Belle II Software  release-08-01-10
KeyValBox< KeyType, ValueType > Class Template Reference

Minimal container storing a pair of < KeyType, ValueType> More...

#include <KeyValBox.h>

Collaboration diagram for KeyValBox< KeyType, ValueType >:

Public Types

using BoxEntry = std::pair< KeyType, ValueType >
 typedef for readable entry-type
 
using Iterator = typename std::vector< BoxEntry >::iterator
 typedef for more readable iterator-type
 
using ConstIterator = typename std::vector< BoxEntry >::const_iterator
 typedef for more readable iterator-type
 

Public Member Functions

ValueType * find (const KeyType &aKey)
 for given key a pointer to the value is returned. More...
 
void push_back (std::pair< KeyType, ValueType > &newPair)
 push_back for new pair given
 
void push_back (std::pair< KeyType, ValueType > newPair)
 push_back for new pair given
 
Iterator begin ()
 returns iterator for container: begin
 
ConstIterator begin () const
 returns iterator for container: begin
 
Iterator end ()
 returns iterator for container: end
 
ConstIterator end () const
 returns iterator for container: end
 
unsigned int size () const
 returns number of entries in container:
 

Protected Attributes

std::vector< std::pair< KeyType, ValueType > > m_container
 the container containing the keys and values
 

Detailed Description

template<class KeyType, class ValueType>
class Belle2::KeyValBox< KeyType, ValueType >

Minimal container storing a pair of < KeyType, ValueType>

Definition at line 24 of file KeyValBox.h.

Member Function Documentation

◆ find()

ValueType* find ( const KeyType &  aKey)
inline

for given key a pointer to the value is returned.

If key was invalid, a nullptr-ptr will be returned

Definition at line 45 of file KeyValBox.h.

46  {
47  Iterator foundPos = std::find_if(
48  m_container.begin(),
49  m_container.end(),
50  [&](const BoxEntry & entry) -> bool
51  { return entry.first == aKey; }
52  );
53  return (foundPos == m_container.end() ? nullptr : &foundPos->second);
54  }
std::pair< KeyType, ValueType > BoxEntry
typedef for readable entry-type
Definition: KeyValBox.h:33
typename std::vector< BoxEntry >::iterator Iterator
typedef for more readable iterator-type
Definition: KeyValBox.h:37
std::vector< std::pair< KeyType, ValueType > > m_container
the container containing the keys and values
Definition: KeyValBox.h:28

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