summaryrefslogtreecommitdiff
path: root/libopie/pim/orecordlist.h
Side-by-side diff
Diffstat (limited to 'libopie/pim/orecordlist.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie/pim/orecordlist.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/libopie/pim/orecordlist.h b/libopie/pim/orecordlist.h
index 3b30a73..75bb33c 100644
--- a/libopie/pim/orecordlist.h
+++ b/libopie/pim/orecordlist.h
@@ -14,8 +14,10 @@
* for(it = list.begin(); it != list.end(); ++it )
* doSomeCoolStuff( (*it) );
*/
+template <class T> class ORecordList;
template <class T = OPimRecord>
class ORecordListIterator {
+ friend class ORecordList<T>;
public:
typedef OTemplateBase<T> Base;
@@ -105,6 +107,7 @@ ORecordListIterator<T>::~ORecordListIterator() {
template <class T>
ORecordListIterator<T>::ORecordListIterator( const ORecordListIterator<T>& it) {
+ qWarning("ORecordListIterator");
m_uids = it.m_uids;
m_current = it.m_current;
m_temp = it.m_temp;
@@ -125,6 +128,7 @@ ORecordListIterator<T> &ORecordListIterator<T>::operator=( const ORecordListIter
template <class T>
T &ORecordListIterator<T>::operator*() {
+ qWarning("operator* %d %d", m_current, m_uids[m_current] );
if (!m_end )
m_record = m_temp->find( m_uids[m_current] );
else
@@ -135,7 +139,7 @@ T &ORecordListIterator<T>::operator*() {
template <class T>
ORecordListIterator<T> &ORecordListIterator<T>::operator++() {
- if (m_current < m_uids.count() ) {
+ if (m_current < (int)m_uids.count() ) {
m_end = false;
++m_current;
}else
@@ -189,6 +193,7 @@ ORecordList<T>::~ORecordList() {
}
template <class T>
ORecordList<T>::Iterator ORecordList<T>::begin() {
+ qWarning("ORecordList::begin");
Iterator it( m_ids, m_acc );
return it;
}
@@ -197,5 +202,7 @@ ORecordList<T>::Iterator ORecordList<T>::end() {
Iterator it( m_ids, m_acc );
it.m_end = true;
it.m_current = m_ids.count();
+
+ return it;
}
#endif