40 #ifndef __OPENFLUID_WARE_LOOPMACROS_HPP__
41 #define __OPENFLUID_WARE_LOOPMACROS_HPP__
48 #define _UNITID(_id) _M_##_id##_Unit
50 #define _UNITSLISTID(_id) _M_##_id##_UList
52 #define _UNITSPTRLISTID(_id) _M_##_id##_UList
54 #define _PCSORDID(_id) _M_##_id##_PcsOrd
56 #define _UNITSLISTITERID(_id) _M_##_id##_UListit
58 #define _UNITSPTRLISTITERID(_id) _M_##_id##_UPtrListit
60 #define _EVENTSLISTITERID(_id) _M_##_id##_EListit
64 #define _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitsclass,unitptr,id) \
65 openfluid::core::UnitsList_t* _UNITSLISTID(id) = mp_SpatialData->spatialUnits(unitsclass)->list(); \
66 if (_UNITSLISTID(id) != NULL && !(_UNITSLISTID(id)->empty())) \
67 for (openfluid::core::UnitsList_t::iterator _UNITSLISTITERID(id) = _UNITSLISTID(id)->begin(); \
68 unitptr = &(*_UNITSLISTITERID(id)),_UNITSLISTITERID(id) != _UNITSLISTID(id)->end(); \
69 ++_UNITSLISTITERID(id))
77 #define OPENFLUID_UNITS_ORDERED_LOOP(unitsclass,unitptr) \
78 _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitsclass,unitptr,__LINE__)
83 #define _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,id) \
84 openfluid::core::UnitsPtrList_t* _UNITSPTRLISTID(id) = mp_SpatialData->allSpatialUnits(); \
85 for (openfluid::core::UnitsPtrList_t::iterator _UNITSPTRLISTITERID(id) = _UNITSPTRLISTID(id)->begin(); \
86 unitptr = (*_UNITSPTRLISTITERID(id)),_UNITSPTRLISTITERID(id) != _UNITSPTRLISTID(id)->end(); \
87 ++_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))
115 #define _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(id,evlist,evobj) \
116 for(openfluid::core::EventsList_t::iterator _EVENTSLISTITERID(id) = (evlist)->begin(); \
117 evobj = &(*_EVENTSLISTITERID(id)), _EVENTSLISTITERID(id) != (evlist)->end(); \
118 ++_EVENTSLISTITERID(id))
125 #define OPENFLUID_EVENT_COLLECTION_LOOP(evlist,evobj) \
126 _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(__LINE__,evlist,evobj)
#define _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist, unitptr, id)
Definition: LoopMacros.hpp:99
#define OPENFLUID_UNITSLIST_LOOP(unitslist, unitptr)
Definition: LoopMacros.hpp:110