bool MoveNext() { if(m_current_node && !m_current_node->GetNext()) return false; else if(m_current_node && m_current_node->GetNext()) m_current_node = m_current_node->GetNext(); else m_current_node = m_list_head; return m_current_node != nullptr; }