9 template <
typename K,
typename V,
typename KSerialiser,
typename VSerialiser>
34 std::optional<std::optional<V>>
get(
const K& key)
36 const auto opt_v_rep =
map_diff.
get(KSerialiser::to_serialised(key));
38 if (opt_v_rep.has_value())
40 if (opt_v_rep.value().has_value())
42 return VSerialiser::from_serialised(opt_v_rep.value().value());
55 bool has(
const K& key)
57 return map_diff.
has(KSerialiser::to_serialised(key));
92 const std::optional<ccf::kv::serialisers::SerialisedEntry>& v_rep)
94 const auto k = KSerialiser::from_serialised(k_rep);
95 if (v_rep.has_value())
97 const std::optional<V> v =
98 VSerialiser::from_serialised(v_rep.value());
101 const std::optional<V> v = std::nullopt;
120 return f(KSerialiser::from_serialised(k_rep));
138 const std::optional<ccf::kv::serialisers::SerialisedEntry>& v_rep) {
139 if (v_rep.has_value())
141 return f(VSerialiser::from_serialised(v_rep));
143 return f(std::nullopt);
Definition abstract_handle.h:8
MapDiff(ccf::kv::untyped::ChangeSet &changes, const std::string &map_name)
Definition map_diff.h:23
K KeyType
Definition map_diff.h:16
void foreach_value(F &&f)
Definition map_diff.h:133
void foreach_key(F &&f)
Definition map_diff.h:115
V ValueType
Definition map_diff.h:17
size_t size()
Definition map_diff.h:152
ccf::kv::untyped::MapDiff map_diff
Definition map_diff.h:13
bool has(const K &key)
Definition map_diff.h:55
MapDiff(ccf::kv::untyped::MapDiff map_diff_)
Definition map_diff.h:19
bool is_deleted(const K &key)
Definition map_diff.h:66
std::optional< std::optional< V > > get(const K &key)
Definition map_diff.h:34
Definition untyped_map_diff.h:19
bool has(const KeyType &key)
Definition untyped_map_diff.cpp:44
bool is_deleted(const KeyType &key)
Definition untyped_map_diff.cpp:60
std::optional< std::optional< ValueType > > get(const KeyType &key)
Definition untyped_map_diff.cpp:29
void foreach(const ElementVisitorWithEarlyOut &fn)
Definition untyped_map_diff.cpp:76
size_t size()
Definition untyped_map_diff.cpp:81
ccf::ByteVector SerialisedEntry
Definition serialised_entry.h:8
Definition app_interface.h:19
Definition untyped_change_set.h:43