9 template <
typename K,
typename V,
typename KSerialiser,
typename VSerialiser>
32 std::optional<std::optional<V>>
get(
const K& key)
34 const auto opt_v_rep =
map_diff.
get(KSerialiser::to_serialised(key));
36 if (opt_v_rep.has_value())
38 if (opt_v_rep.value().has_value())
40 return VSerialiser::from_serialised(opt_v_rep.value().value());
53 bool has(
const K& key)
55 return map_diff.
has(KSerialiser::to_serialised(key));
90 const std::optional<ccf::kv::serialisers::SerialisedEntry>& v_rep)
92 const auto k = KSerialiser::from_serialised(k_rep);
93 if (v_rep.has_value())
95 const std::optional<V> v =
96 VSerialiser::from_serialised(v_rep.value());
101 const std::optional<V> v = std::nullopt;
121 return f(KSerialiser::from_serialised(k_rep));
139 const std::optional<ccf::kv::serialisers::SerialisedEntry>& v_rep) {
140 if (v_rep.has_value())
142 return f(VSerialiser::from_serialised(v_rep));
146 return f(std::nullopt);
Definition abstract_handle.h:8
MapDiff(ccf::kv::untyped::ChangeSet &changes, const std::string &map_name)
Definition map_diff.h:21
K KeyType
Definition map_diff.h:16
void foreach_value(F &&f)
Definition map_diff.h:134
void foreach_key(F &&f)
Definition map_diff.h:116
V ValueType
Definition map_diff.h:17
size_t size()
Definition map_diff.h:156
ccf::kv::untyped::MapDiff map_diff
Definition map_diff.h:13
bool has(const K &key)
Definition map_diff.h:53
MapDiff(ccf::kv::untyped::MapDiff map_diff_)
Definition map_diff.h:19
bool is_deleted(const K &key)
Definition map_diff.h:64
std::optional< std::optional< V > > get(const K &key)
Definition map_diff.h:32
Definition untyped_map_diff.h:19
bool has(const KeyType &key)
Definition untyped_map_diff.cpp:43
bool is_deleted(const KeyType &key)
Definition untyped_map_diff.cpp:59
std::optional< std::optional< ValueType > > get(const KeyType &key)
Definition untyped_map_diff.cpp:28
void foreach(const ElementVisitorWithEarlyOut &fn)
Definition untyped_map_diff.cpp:75
size_t size()
Definition untyped_map_diff.cpp:80
ccf::ByteVector SerialisedEntry
Definition serialised_entry.h:8
Definition app_interface.h:19
Definition untyped_change_set.h:43