Changeset 1037 for XIOS/dev/branch_yushan/src/filter/garbage_collector.cpp
- Timestamp:
- 01/25/17 16:25:17 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/filter/garbage_collector.cpp
r1006 r1037 3 3 namespace xios 4 4 { 5 void CGarbageCollector::register Object(InvalidableObject* Object, Time timestamp)5 void CGarbageCollector::registerFilter(CInputPin* inputPin, Time timestamp) 6 6 { 7 registered Objects[timestamp].insert(Object);7 registeredFilters[timestamp].insert(inputPin); 8 8 } 9 9 10 void CGarbageCollector::unregister Object(InvalidableObject* Object, Time timestamp)10 void CGarbageCollector::unregisterFilter(CInputPin* inputPin, Time timestamp) 11 11 { 12 std::map<Time, std::set< InvalidableObject*> >::iterator it = registeredObjects.find(timestamp);13 if (it != registered Objects.end())14 it->second.erase( Object);12 std::map<Time, std::set<CInputPin*> >::iterator it = registeredFilters.find(timestamp); 13 if (it != registeredFilters.end()) 14 it->second.erase(inputPin); 15 15 } 16 16 17 17 void CGarbageCollector::invalidate(Time timestamp) 18 18 { 19 std::map<Time, std::set< InvalidableObject*> >::iterator it = registeredObjects.begin(),20 itEnd = registeredObjects.lower_bound(timestamp);19 std::map<Time, std::set<CInputPin*> >::iterator it = registeredFilters.begin(), 20 itEnd = registeredFilters.lower_bound(timestamp); 21 21 for (; it != itEnd; ++it) 22 22 { 23 std::set< InvalidableObject*>::iterator itObject= it->second.begin(),24 itObjectEnd = it->second.end();25 for (; it Object != itObjectEnd; ++itObject)26 (*it Object)->invalidate(timestamp);23 std::set<CInputPin*>::iterator itFilter = it->second.begin(), 24 itFilterEnd = it->second.end(); 25 for (; itFilter != itFilterEnd; ++itFilter) 26 (*itFilter)->invalidate(timestamp); 27 27 } 28 registered Objects.erase(registeredObjects.begin(), itEnd);28 registeredFilters.erase(registeredFilters.begin(), itEnd); 29 29 } 30 30 } // namespace xios
Note: See TracChangeset
for help on using the changeset viewer.