Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
pos-idx.hh
Go to the documentation of this file.
1#pragma once
3
4#include <cstdint>
5
6namespace nix {
7
8class PosIdx
9{
10 friend struct LazyPosAcessors;
11 friend class PosTable;
12
13private:
14 uint32_t id;
15
16 explicit PosIdx(uint32_t id)
17 : id(id)
18 {
19 }
20
21public:
22 PosIdx()
23 : id(0)
24 {
25 }
26
27 explicit operator bool() const
28 {
29 return id > 0;
30 }
31
32 bool operator<(const PosIdx other) const
33 {
34 return id < other.id;
35 }
36
37 bool operator==(const PosIdx other) const
38 {
39 return id == other.id;
40 }
41
42 bool operator!=(const PosIdx other) const
43 {
44 return id != other.id;
45 }
46};
47
48inline PosIdx noPos = {};
49
50}
Definition pos-idx.hh:9