diff options
Diffstat (limited to 'compiler/utils/growable_array.h')
| -rw-r--r-- | compiler/utils/growable_array.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/utils/growable_array.h b/compiler/utils/growable_array.h index b33a62e67f..993492da6d 100644 --- a/compiler/utils/growable_array.h +++ b/compiler/utils/growable_array.h @@ -49,9 +49,14 @@ class GrowableArray { : idx_(0), g_list_(g_list) {} + explicit Iterator() + : idx_(0), + g_list_(nullptr) {} + // NOTE: returns 0/NULL when no next. // TODO: redo to make usage consistent with other iterators. T Next() { + DCHECK(g_list_ != nullptr); if (idx_ >= g_list_->Size()) { return 0; } else { @@ -63,6 +68,15 @@ class GrowableArray { idx_ = 0; } + void Reset(GrowableArray* g_list) { + idx_ = 0; + g_list_ = g_list; + } + + size_t GetIndex() const { + return idx_; + } + private: size_t idx_; GrowableArray* const g_list_; |