Fix CPUFeature iterator behaviour.
The `++` operators should return iterators, not values.
This also updates tests to match, and makes wider use of C++11
range-based `for` loops, where they simplify code.
Change-Id: I2c8ef422e851d6b16c8de2890ae16fc69817a738
diff --git a/src/cpu-features.h b/src/cpu-features.h
index cbec565..738fa69 100644
--- a/src/cpu-features.h
+++ b/src/cpu-features.h
@@ -378,8 +378,8 @@
bool operator!=(const CPUFeaturesConstIterator& other) const {
return !(*this == other);
}
- CPUFeatures::Feature operator++();
- CPUFeatures::Feature operator++(int);
+ CPUFeaturesConstIterator& operator++();
+ CPUFeaturesConstIterator operator++(int);
CPUFeatures::Feature operator*() const {
VIXL_ASSERT(IsValid());