Go to the documentation of this file. 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 63 #define _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitsclass,unitptr,id) \ 64 openfluid::core::UnitsList_t* _UNITSLISTID(id) = mp_SpatialData->spatialUnits(unitsclass)->list(); \ 65 if (_UNITSLISTID(id) != nullptr && !(_UNITSLISTID(id)->empty())) \ 66 for (openfluid::core::UnitsList_t::iterator _UNITSLISTITERID(id) = _UNITSLISTID(id)->begin(); \ 67 unitptr = &(*_UNITSLISTITERID(id)),_UNITSLISTITERID(id) != _UNITSLISTID(id)->end(); \ 68 ++_UNITSLISTITERID(id)) 86 #define OPENFLUID_UNITS_ORDERED_LOOP(unitsclass,unitptr) \ 87 _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitsclass,unitptr,__LINE__) 90 #define _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,id) \ 91 openfluid::core::UnitsPtrList_t* _UNITSPTRLISTID(id) = mp_SpatialData->allSpatialUnits(); \ 92 for (openfluid::core::UnitsPtrList_t::iterator _UNITSPTRLISTITERID(id) = _UNITSPTRLISTID(id)->begin(); \ 93 unitptr = (*_UNITSPTRLISTITERID(id)),_UNITSPTRLISTITERID(id) != _UNITSPTRLISTID(id)->end(); \ 94 ++_UNITSPTRLISTITERID(id)) 111 #define OPENFLUID_ALLUNITS_ORDERED_LOOP(unitptr) \ 112 _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,__LINE__) 115 #define _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist,unitptr,id) \ 116 if (unitslist != nullptr) \ 117 for (openfluid::core::UnitsPtrList_t::iterator _UNITSLISTITERID(id) = unitslist->begin(); \ 118 unitptr = *_UNITSLISTITERID(id),_UNITSLISTITERID(id) != unitslist->end(); \ 119 ++_UNITSLISTITERID(id)) 137 #define OPENFLUID_UNITSLIST_LOOP(unitslist,unitptr) \ 138 _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist,unitptr,__LINE__) 141 #define _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(id,evlist,evobj) \ 142 for(openfluid::core::EventsList_t::iterator _EVENTSLISTITERID(id) = (evlist)->begin(); \ 143 evobj = &(*_EVENTSLISTITERID(id)), _EVENTSLISTITERID(id) != (evlist)->end(); \ 144 ++_EVENTSLISTITERID(id)) 161 #define OPENFLUID_EVENT_COLLECTION_LOOP(evlist,evobj) \ 162 _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(__LINE__,evlist,evobj)