#include <map_diff.h>
Inherits ccf::kv::AbstractHandle.
◆ KeyType
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
◆ ValueType
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
◆ MapDiff() [1/2]
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
◆ MapDiff() [2/2]
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
◆ foreach()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
template<class F >
Iterate over all entries in the map.
The passed functor should have the signature bool(const K& k, const std::optional<V>& v)
. The iteration order is undefined. A value of nullopt indicates that the key was deleted. Return true to continue iteration, or return false from any invocation to terminate the iteration at that point - the functor will not be invoked again after it returns false.
- Template Parameters
-
F | Functor type. Should usually be derived implicitly from f |
- Parameters
-
f | Functor instance, taking (const K& k, const std::optional<V>& v) and returning a bool. Return value determines whether the iteration should continue (true) or stop (false) |
◆ foreach_key()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
template<class F >
Iterate over all keys in the map.
- Template Parameters
-
F | Functor type. Should usually be derived implicitly from f |
- Parameters
-
f | Functor instance, taking (const K& k) and returning a bool. Return value determines whether the iteration should continue (true) or stop (false) |
◆ foreach_value()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
template<class F >
void ccf::kv::MapDiff< K, V, KSerialiser, VSerialiser >::foreach_value |
( |
F && |
f | ) |
|
|
inline |
Iterate over all values in the map.
- Template Parameters
-
F | Functor type. Should usually be derived implicitly from f |
- Parameters
-
f | Functor instance, taking (const std::optional<V>& v) and returning a bool. Return value determines whether the iteration should continue (true) or stop (false) |
◆ get()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
std::optional< std::optional< V > > ccf::kv::MapDiff< K, V, KSerialiser, VSerialiser >::get |
( |
const K & |
key | ) |
|
|
inline |
Get value for key.
- Parameters
-
- Returns
- nullopt if key does not exist, optional<nullopt> if key exists but was deleted and the value if it exists and was not deleted.
◆ has()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
Test if key is present and not deleted.
- Parameters
-
- Returns
- Boolean true iff key exists
◆ is_deleted()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
bool ccf::kv::MapDiff< K, V, KSerialiser, VSerialiser >::is_deleted |
( |
const K & |
key | ) |
|
|
inline |
Test if key is deleted in this diff.
- Parameters
-
- Returns
- Boolean true iff key was deleted
◆ size()
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
Returns number of entries in this map.
- Returns
- Count of entries
◆ map_diff
template<typename K , typename V , typename KSerialiser , typename VSerialiser >
The documentation for this class was generated from the following file: