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)) 76 #define OPENFLUID_UNITS_ORDERED_LOOP(unitsclass,unitptr) \ 77 _OPENFLUID_UNITS_ORDERED_LOOP_WITHID(unitsclass,unitptr,__LINE__) 80 #define _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,id) \ 81 openfluid::core::UnitsPtrList_t* _UNITSPTRLISTID(id) = mp_SpatialData->allSpatialUnits(); \ 82 for (openfluid::core::UnitsPtrList_t::iterator _UNITSPTRLISTITERID(id) = _UNITSPTRLISTID(id)->begin(); \ 83 unitptr = (*_UNITSPTRLISTITERID(id)),_UNITSPTRLISTITERID(id) != _UNITSPTRLISTID(id)->end(); \ 84 ++_UNITSPTRLISTITERID(id)) 91 #define OPENFLUID_ALLUNITS_ORDERED_LOOP(unitptr) \ 92 _OPENFLUID_ALLUNITS_ORDERED_LOOP_WITHID(unitptr,__LINE__) 95 #define _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist,unitptr,id) \ 96 if (unitslist != nullptr) \ 97 for (openfluid::core::UnitsPtrList_t::iterator _UNITSLISTITERID(id) = unitslist->begin(); \ 98 unitptr = *_UNITSLISTITERID(id),_UNITSLISTITERID(id) != unitslist->end(); \ 99 ++_UNITSLISTITERID(id)) 107 _OPENFLUID_UNITSLIST_LOOP_WITHID(unitslist,unitptr,__LINE__)
110 #define _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(id,evlist,evobj) \ 111 for(openfluid::core::EventsList_t::iterator _EVENTSLISTITERID(id) = (evlist)->begin(); \ 112 evobj = &(*_EVENTSLISTITERID(id)), _EVENTSLISTITERID(id) != (evlist)->end(); \ 113 ++_EVENTSLISTITERID(id)) 120 #define OPENFLUID_EVENT_COLLECTION_LOOP(evlist,evobj) \ 121 _OPENFLUID_EVENT_COLLECTION_LOOP_WITHID(__LINE__,evlist,evobj) #define OPENFLUID_UNITSLIST_LOOP(unitslist, unitptr)
Definition: LoopMacros.hpp:106