class IRTTIIterator

Interface for a RTTI iterator.

Public

Methods

~IRTTIIterator

virtual ~IRTTIIterator() = default

IsValid

virtual bool IsValid() const = 0

Returns true if the iterator points to a valid value.

SeekToBeginning

virtual void SeekToBeginning() = 0

Resets the iterator to the beginning of the container.

SeekToEnd

virtual void SeekToEnd() = 0

Resets the iterator to the end of the container.

GetElementCount

virtual u64 GetElementCount() const = 0

Returns the number of elements in the container.

GetValue

virtual const void *GetValue() const = 0

Returns the current value of the iterator.

Increment

virtual void Increment() = 0

Increment operator.

Clear

virtual void Clear() = 0

Clears all the entries from the underlying container.

Erase

virtual void Erase() = 0

Removes the current iterator element.

Clone

virtual SPtr<IRTTIIterator> Clone(FrameAllocator &allocator) const = 0

Makes a copy of this iterator at its current location.

SeekToIndex

virtual bool SeekToIndex(u64 index) = 0

Seeks the iterator to a particular index.

If the index is out of range, or seeking to index is not supported, the iterator is marked as invalid and false is returned.

SeekToKey

virtual bool SeekToKey(const void *value) = 0

Seeks the iterator to a particular key.

The provided value should be a pointer to the key value, or to a tuple. In case the value is a tuple, the first element is considered to be the key. If the kye is not found, or seeking to key is not supported, the iterator is marked as invalid and false is returned.