32 lab& operator=(
const lab& other);
35 lab(
lab&& other)
noexcept =
default;
38 lab& operator=(
lab&& other)
noexcept =
default;
40 std::optional<std::tuple<int, int, int, int>> find(
int p,
int q)
const noexcept;
41 std::optional<std::tuple<int, int, int, int>> find(
int p,
int q,
int r)
const noexcept;
43 void insert(
int x,
int y,
int z,
int w)
noexcept;
45 bool empty()
const noexcept;
47 int get_levels()
const noexcept;
48 void set_levels(
int levels)
noexcept;
50 int get_random_block_id()
const noexcept;
53 using pqmap = std::unordered_map<std::pair<int, int>, std::tuple<int, int, int, int>,
pair_hash>;