34 namespace ldraw |
34 namespace ldraw |
35 { |
35 { |
36 // Uniquely identifies a model body object |
36 // Uniquely identifies a model body object |
37 struct Id |
37 struct Id |
38 { |
38 { |
39 unsigned int value; |
39 std::int32_t value; |
40 constexpr bool operator<(ldraw::Id other) const |
40 constexpr bool operator<(ldraw::Id other) const |
41 { |
41 { |
42 return this->value < other.value; |
42 return this->value < other.value; |
43 } |
43 } |
44 }; |
44 }; |
|
45 using id_t = Id; |
|
46 constexpr id_t NULL_ID = id_t{0}; |
45 } |
47 } |
46 |
48 |
47 constexpr std::size_t operator""_z(const unsigned long long int x) |
49 constexpr std::size_t operator""_z(const unsigned long long int x) |
48 { |
50 { |
49 return static_cast<std::size_t>(x); |
51 return static_cast<std::size_t>(x); |