Coverage Report

Created: 2025-04-09 20:14

/root/bitcoin/src/leveldb/table/block.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file. See the AUTHORS file for names of contributors.
4
5
#ifndef STORAGE_LEVELDB_TABLE_BLOCK_H_
6
#define STORAGE_LEVELDB_TABLE_BLOCK_H_
7
8
#include <stddef.h>
9
#include <stdint.h>
10
11
#include "leveldb/iterator.h"
12
13
namespace leveldb {
14
15
struct BlockContents;
16
class Comparator;
17
18
class Block {
19
 public:
20
  // Initialize the block with the specified contents.
21
  explicit Block(const BlockContents& contents);
22
23
  Block(const Block&) = delete;
24
  Block& operator=(const Block&) = delete;
25
26
  ~Block();
27
28
0
  size_t size() const { return size_; }
29
  Iterator* NewIterator(const Comparator* comparator);
30
31
 private:
32
  class Iter;
33
34
  uint32_t NumRestarts() const;
35
36
  const char* data_;
37
  size_t size_;
38
  uint32_t restart_offset_;  // Offset in data_ of restart array
39
  bool owned_;               // Block owns data_[]
40
};
41
42
}  // namespace leveldb
43
44
#endif  // STORAGE_LEVELDB_TABLE_BLOCK_H_