52 #ifndef MITEMITERATOR_INC
53 #define MITEMITERATOR_INC
55 #include "mpieceitem.h"
62 struct _mAbstractItemManager;
63 typedef struct _mAbstractItemManager mAbstractItemManager;
65 struct _mAbstractItemManagerClass;
66 typedef struct _mAbstractItemManagerClass mAbstractItemManagerClass;
68 typedef struct _mItemIteratorClass mItemIteratorClass;
69 typedef struct _mItemIterator mItemIterator;
71 #define mItemIteratorHeader(clss) \
73 mAbstractItemManager* manager;
75 #define mItemIteratorClassHeader(clss, superCls) \
76 mObjectClassHeader(clss, superCls) \
77 mPieceItem* (*next)(clss*); \
78 mPieceItem* (*prev)(clss*); \
79 mItemIterator* (*duplicate)(clss*);
83 mItemIteratorHeader(mItemIterator)
86 struct _mItemIteratorClass
88 mItemIteratorClassHeader(mItemIterator, mObject)
91 MGNCS_EXPORT
extern mItemIteratorClass g_stmItemIteratorCls;