MCPcopy Create free account
hub / github.com/ElementsProject/elements / leveldb_writebatch_iterate

Function leveldb_writebatch_iterate

src/leveldb/db/c.cc:339–361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

337}
338
339void leveldb_writebatch_iterate(const leveldb_writebatch_t* b, void* state,
340 void (*put)(void*, const char* k, size_t klen,
341 const char* v, size_t vlen),
342 void (*deleted)(void*, const char* k,
343 size_t klen)) {
344 class H : public WriteBatch::Handler {
345 public:
346 void* state_;
347 void (*put_)(void*, const char* k, size_t klen, const char* v, size_t vlen);
348 void (*deleted_)(void*, const char* k, size_t klen);
349 void Put(const Slice& key, const Slice& value) override {
350 (*put_)(state_, key.data(), key.size(), value.data(), value.size());
351 }
352 void Delete(const Slice& key) override {
353 (*deleted_)(state_, key.data(), key.size());
354 }
355 };
356 H handler;
357 handler.state_ = state;
358 handler.put_ = put;
359 handler.deleted_ = deleted;
360 b->rep.Iterate(&handler);
361}
362
363void leveldb_writebatch_append(leveldb_writebatch_t* destination,
364 const leveldb_writebatch_t* source) {

Callers 1

mainFunction · 0.85

Calls 1

IterateMethod · 0.45

Tested by 1

mainFunction · 0.68