41 #ifndef __LOOPMACROS_HPP__
42 #define __LOOPMACROS_HPP__
50 #define _UNITID(_id) _M_##_id##_Unit
52 #define _UNITSLISTID(_id) _M_##_id##_UList
54 #define _UNITSPTRLISTID(_id) _M_##_id##_UList
56 #define _PCSORDID(_id) _M_##_id##_PcsOrd
58 #define _UNITSLISTITERID(_id) _M_##_id##_UListit
60 #define _UNITSPTRLISTITERID(_id) _M_##_id##_UPtrListit
62 #define _EVENTSLISTITERID(_id) _M_##_id##_EListit
66 #define _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitclass,unitptr,id) \
67 openfluid::core::UnitsList_t* _UNITSLISTID(id) = mp_CoreData->getUnits(unitclass)->getList(); \
68 if (_UNITSLISTID(id) != NULL && !(_UNITSLISTID(id)->empty())) \
69 for (openfluid::core::UnitsList_t::iterator _UNITSLISTITERID(id) = _UNITSLISTID(id)->begin(); \
70 unitptr = &(*_UNITSLISTITERID(id)),_UNITSLISTITERID(id) != _UNITSLISTID(id)->end(); \
71 ++_UNITSLISTITERID(id))
78 #define OPENFLUID_UNITS_ORDERED_LOOP(unitclass,unitptr) \
79 _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitclass,unitptr,__LINE__)
84 #define _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,id) \
85 openfluid::core::UnitsPtrList_t* _UNITSPTRLISTID(id) = mp_CoreData->getUnitsGlobally(); \
86 for (openfluid::core::UnitsPtrList_t::iterator _UNITSPTRLISTITERID(id) = _UNITSPTRLISTID(id)->begin(); \
87 unitptr = (*_UNITSPTRLISTITERID(id)),_UNITSPTRLISTITERID(id) != _UNITSPTRLISTID(id)->end(); \
88 ++_UNITSPTRLISTITERID(id))
94 #define OPENFLUID_ALLUNITS_ORDERED_LOOP(unitptr) \
95 _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,__LINE__)
99 #define _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist,unitptr,id) \
100 if (unitslist != NULL) \
101 for (openfluid::core::UnitsPtrList_t::iterator _UNITSLISTITERID(id) = unitslist->begin(); \
102 unitptr = *_UNITSLISTITERID(id),_UNITSLISTITERID(id) != unitslist->end(); \
103 ++_UNITSLISTITERID(id))
114 #define _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(id,evlist,evobj) \
115 for(openfluid::core::EventsList_t::iterator _EVENTSLISTITERID(id) = (evlist)->begin(); \
116 evobj = &(*_EVENTSLISTITERID(id)), _EVENTSLISTITERID(id) != (evlist)->end(); \
117 ++_EVENTSLISTITERID(id))
124 #define OPENFLUID_EVENT_COLLECTION_LOOP(evlist,evobj) \
125 _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(__LINE__,evlist,evobj)
#define OPENFLUID_UNITSLIST_LOOP(unitslist, unitptr)
Definition: LoopMacros.hpp:109
#define _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist, unitptr, id)
Definition: LoopMacros.hpp:99