Make AggregateSensor::SensorIterator satisfy LegacyInputIterator and input_iterator
ksystemstats!21 (merged) requires AggregateSensor::SensorIterator being compatible with stl algorithms, so I looked it up and it seems that I only need to tag it and add some methods. Doing so I found out two problems tho:
- It seems that the iterator needs to implement
operator->()
, but I don't think it's actually used anywhere in the stl, because you should know the name of the methods of thevalue_type
of the iterator, and that would make those algorithm not general. -
operator*()
should return a reference to thevalue_type
of the iterator.
Both of these are problems because SensorProperty only provides the value of the sensor by value, not by reference, so SensorIterator can only do the same. So I was wondering what to do now: ignore these problems (it seems to work anyway, at least tested against ksystemstats!21 (merged), while being technically not correct) or change SensorProperty and make it return a const reference too and use it in SensorIterator?
Edited by Alessio Bonfiglio