summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/orecordlist.h
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim/orecordlist.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/orecordlist.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/libopie2/opiepim/orecordlist.h b/libopie2/opiepim/orecordlist.h
index 3b30a73..75bb33c 100644
--- a/libopie2/opiepim/orecordlist.h
+++ b/libopie2/opiepim/orecordlist.h
@@ -15,9 +15,11 @@
* doSomeCoolStuff( (*it) );
*/
+template <class T> class ORecordList;
template <class T = OPimRecord>
class ORecordListIterator {
+ friend class ORecordList<T>;
public:
typedef OTemplateBase<T> Base;
-
+
/**
* The c'tor used internally from
@@ -25,5 +27,5 @@ public:
*/
ORecordListIterator( const QArray<int>, const Base* );
-
+
/**
* The standard c'tor
@@ -31,10 +33,10 @@ public:
ORecordListIterator();
~ORecordListIterator();
-
+
ORecordListIterator( const ORecordListIterator& );
ORecordListIterator &operator=(const ORecordListIterator& );
-
+
/**
- * a * operator ;)
+ * a * operator ;)
* use it like this T = (*it);
*/
@@ -60,5 +62,5 @@ private:
* The recordlist used as a return type
* from OPimAccessTemplate
- */
+ */
template <class T = OPimRecord >
class ORecordList {
@@ -66,6 +68,6 @@ public:
typedef OTemplateBase<T> Base;
typedef ORecordListIterator<T> Iterator;
-
- /**
+
+ /**
* c'tor
*/
@@ -73,10 +75,10 @@ public:
const Base* );
~ORecordList();
-
+
/**
* the first iterator
*/
Iterator begin();
-
+
/**
* the end
@@ -106,4 +108,5 @@ 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;
@@ -126,4 +129,5 @@ 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] );
@@ -136,5 +140,5 @@ 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;
@@ -190,4 +194,5 @@ ORecordList<T>::~ORecordList() {
template <class T>
ORecordList<T>::Iterator ORecordList<T>::begin() {
+ qWarning("ORecordList::begin");
Iterator it( m_ids, m_acc );
return it;
@@ -198,4 +203,6 @@ ORecordList<T>::Iterator ORecordList<T>::end() {
it.m_end = true;
it.m_current = m_ids.count();
+
+ return it;
}
#endif