Implement/match LegoVideoManager::Tickle (#409)

* Implement LegoVideoManager::Tickle

* Match

* Remove duplicate annotations

* Add missing annotations

* Rename list functions

* Fix

* Rename some symbols
This commit is contained in:
Christian Semmler
2024-01-06 12:06:50 -05:00
committed by GitHub
parent 27269647f8
commit dac2a517c3
13 changed files with 247 additions and 114 deletions

View File

@@ -91,12 +91,13 @@ public:
MxBool Find(T p_obj);
void Detach();
void Destroy();
MxBool Next();
MxBool Next(T& p_obj);
MxBool Prev();
MxBool Prev(T& p_obj);
MxBool Current(T& p_obj);
MxBool First(T& p_obj);
MxBool Last(T& p_obj);
MxBool Advance();
MxBool HasMatch() { return m_match != NULL; }
void SetValue(T p_obj);
MxBool Head()
@@ -222,6 +223,17 @@ inline void MxListCursor<T>::Destroy()
}
}
template <class T>
inline MxBool MxListCursor<T>::Next()
{
if (!m_match)
m_match = m_list->m_first;
else
m_match = m_match->GetNext();
return m_match != NULL;
}
template <class T>
inline MxBool MxListCursor<T>::Next(T& p_obj)
{
@@ -236,6 +248,17 @@ inline MxBool MxListCursor<T>::Next(T& p_obj)
return m_match != NULL;
}
template <class T>
inline MxBool MxListCursor<T>::Prev()
{
if (!m_match)
m_match = m_list->m_last;
else
m_match = m_match->GetPrev();
return m_match != NULL;
}
template <class T>
inline MxBool MxListCursor<T>::Prev(T& p_obj)
{
@@ -279,17 +302,6 @@ inline MxBool MxListCursor<T>::Last(T& p_obj)
return m_match != NULL;
}
template <class T>
inline MxBool MxListCursor<T>::Advance()
{
if (!m_match)
m_match = m_list->m_first;
else
m_match = m_match->GetNext();
return m_match != NULL;
}
template <class T>
inline void MxListCursor<T>::SetValue(T p_obj)
{