CCF
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
champ::Map< K, V, H > Class Template Reference

#include <champ_map.h>

Public Types

using KeyType = K
 
using ValueType = V
 
using Snapshot = Snapshot< K, V, H >
 

Public Member Functions

 Map ()
 
size_t size () const
 
size_t get_serialized_size () const
 
bool empty () const
 
std::optional< V > get (const K &key) const
 
const V * getp (const K &key) const
 
const Map< K, V, H > put (const K &key, const V &value) const
 
const Map< K, V, H > remove (const K &key) const
 
template<class F >
bool foreach (F &&f) const
 
std::unique_ptr< Snapshotmake_snapshot () const
 

Member Typedef Documentation

◆ KeyType

template<class K , class V , class H = std::hash<K>>
using champ::Map< K, V, H >::KeyType = K

◆ Snapshot

template<class K , class V , class H = std::hash<K>>
using champ::Map< K, V, H >::Snapshot = Snapshot<K, V, H>

◆ ValueType

template<class K , class V , class H = std::hash<K>>
using champ::Map< K, V, H >::ValueType = V

Constructor & Destructor Documentation

◆ Map()

template<class K , class V , class H = std::hash<K>>
champ::Map< K, V, H >::Map ( )
inline

Member Function Documentation

◆ empty()

template<class K , class V , class H = std::hash<K>>
bool champ::Map< K, V, H >::empty ( ) const
inline

◆ foreach()

template<class K , class V , class H = std::hash<K>>
template<class F >
bool champ::Map< K, V, H >::foreach ( F &&  f) const
inline

◆ get()

template<class K , class V , class H = std::hash<K>>
std::optional< V > champ::Map< K, V, H >::get ( const K &  key) const
inline

◆ get_serialized_size()

template<class K , class V , class H = std::hash<K>>
size_t champ::Map< K, V, H >::get_serialized_size ( ) const
inline

◆ getp()

template<class K , class V , class H = std::hash<K>>
const V * champ::Map< K, V, H >::getp ( const K &  key) const
inline

◆ make_snapshot()

template<class K , class V , class H = std::hash<K>>
std::unique_ptr< Snapshot > champ::Map< K, V, H >::make_snapshot ( ) const
inline

◆ put()

template<class K , class V , class H = std::hash<K>>
const Map< K, V, H > champ::Map< K, V, H >::put ( const K &  key,
const V &  value 
) const
inline

◆ remove()

template<class K , class V , class H = std::hash<K>>
const Map< K, V, H > champ::Map< K, V, H >::remove ( const K &  key) const
inline

◆ size()

template<class K , class V , class H = std::hash<K>>
size_t champ::Map< K, V, H >::size ( ) const
inline

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