Make a missing node iterator .begin() == end()
Instead of throwing an exception, just treat the iterator as if it had zero positions
This commit is contained in:
parent
0526d7c299
commit
12b1e7fa67
@ -282,26 +282,26 @@ inline std::size_t Node::size() const {
|
|||||||
|
|
||||||
inline const_iterator Node::begin() const {
|
inline const_iterator Node::begin() const {
|
||||||
if (!m_isValid)
|
if (!m_isValid)
|
||||||
throw InvalidNode();
|
return const_iterator();
|
||||||
return m_pNode ? const_iterator(m_pNode->begin(), m_pMemory)
|
return m_pNode ? const_iterator(m_pNode->begin(), m_pMemory)
|
||||||
: const_iterator();
|
: const_iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline iterator Node::begin() {
|
inline iterator Node::begin() {
|
||||||
if (!m_isValid)
|
if (!m_isValid)
|
||||||
throw InvalidNode();
|
return iterator();
|
||||||
return m_pNode ? iterator(m_pNode->begin(), m_pMemory) : iterator();
|
return m_pNode ? iterator(m_pNode->begin(), m_pMemory) : iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline const_iterator Node::end() const {
|
inline const_iterator Node::end() const {
|
||||||
if (!m_isValid)
|
if (!m_isValid)
|
||||||
throw InvalidNode();
|
return const_iterator();
|
||||||
return m_pNode ? const_iterator(m_pNode->end(), m_pMemory) : const_iterator();
|
return m_pNode ? const_iterator(m_pNode->end(), m_pMemory) : const_iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline iterator Node::end() {
|
inline iterator Node::end() {
|
||||||
if (!m_isValid)
|
if (!m_isValid)
|
||||||
throw InvalidNode();
|
return iterator();
|
||||||
return m_pNode ? iterator(m_pNode->end(), m_pMemory) : iterator();
|
return m_pNode ? iterator(m_pNode->end(), m_pMemory) : iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user