9 LayerRange() : m_start(10000), m_end(10000){};
11 LayerRange(
int aStart,
int aEnd)
14 std::swap(aStart, aEnd);
20 LayerRange(
int aLayer)
22 m_start = m_end = aLayer;
25 LayerRange(
const LayerRange &aB) : m_start(aB.m_start), m_end(aB.m_end)
29 LayerRange &operator=(
const LayerRange &aB)
36 bool overlaps(
const LayerRange &aOther)
const
38 return m_end >= aOther.m_start && m_start <= aOther.m_end;
41 bool overlaps(
const int aLayer)
const
43 return aLayer >= m_start && aLayer <= m_end;
46 bool is_multilayer()
const
48 return m_start != m_end;
61 void merge(
const LayerRange &aOther)
63 if (m_start == 10000 || m_end == 10000) {
64 m_start = aOther.m_start;
69 if (aOther.m_start < m_start)
70 m_start = aOther.m_start;
72 if (aOther.m_end > m_end)
76 bool operator==(
const LayerRange &aOther)
const
78 return (m_start == aOther.m_start) && (m_end == aOther.m_end);
81 bool operator!=(
const LayerRange &aOther)
const
83 return (m_start != aOther.m_start) || (m_end != aOther.m_end);