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