15 json serialize()
const;
22 std::swap(aStart, aEnd);
30 m_start = m_end = aLayer;
46 return m_end >= aOther.m_start && m_start <= aOther.m_end;
49 bool overlaps(
const int aLayer)
const
51 return aLayer >= m_start && aLayer <= m_end;
54 bool is_multilayer()
const
56 return m_start != m_end;
71 if (m_start == 10000 || m_end == 10000) {
72 m_start = aOther.m_start;
77 if (aOther.m_start < m_start)
78 m_start = aOther.m_start;
80 if (aOther.m_end > m_end)
84 std::optional<LayerRange> intersection(
const LayerRange &other)
const
87 return LayerRange{std::max(m_start, other.m_start), std::min(m_end, other.m_end)};
92 bool operator==(
const LayerRange &aOther)
const
94 return (m_start == aOther.m_start) && (m_end == aOther.m_end);
97 bool operator!=(
const LayerRange &aOther)
const
99 return (m_start != aOther.m_start) || (m_end != aOther.m_end);
102 bool operator<(
const LayerRange &aOther)
const
104 return std::make_pair(m_start, m_end) < std::make_pair(aOther.m_start, aOther.m_end);
107 bool operator>(
const LayerRange &aOther)
const
109 return std::make_pair(m_start, m_end) > std::make_pair(aOther.m_start, aOther.m_end);