#include <storage/IndexedIterable.h>
Inheritance diagram for BIndexedIterable::IndexedIterator:
IIterator/IRandomIterator interfaces. | |
virtual size_t | Count () const |
Calls back to BIndexedIterable::CountEntriesLocked(). | |
virtual SValue | Options () const |
Add in BV_ITERABLE_SELECT and BV_ITERABLE_ORDER_BY arguments. | |
virtual size_t | Position () const |
Returns the current iterator position. | |
virtual void | SetPosition (size_t p) |
Changes the current iterator position. | |
Positions and Indices. | |
ssize_t | CurrentIndexLocked () const |
Returns the iterator's current index in the iterable. | |
ssize_t | MoveIndexLocked () |
Moves the iterator forward by one and returns its previous index. | |
const SValue & | SelectArgsLocked () const |
Return the select argument in effect for this iterator. | |
Bookkeeping | |
Creation, destruction, locking, etc. | |
IndexedIterator (const SContext &context, const sptr< BGenericIterable > &owner) | |
virtual SValue | Inspect (const sptr< IBinder > &caller, const SValue &which, uint32_t flags) |
This iterator supports for IIterator and IRandomIterator. | |
virtual | ~IndexedIterator () |
GenericIterator. | |
virtual status_t | NextLocked (uint32_t flags, SValue *key, SValue *entry) |
Implemented to call step the iterator and then call EntryAtLocked() with the previous index. | |
virtual status_t | ParseArgs (const SValue &args) |
Parse out BV_ITERATOR_SELECT and BV_ITERABLE_ORDER_BY arguments. | |
virtual status_t | RemoveLocked () |
Implemented to call RemoveEntryAtLocked() with the current index. | |
Friends | |
class | BIndexedIterable |
|
|
|
|
|
Calls back to BIndexedIterable::CountEntriesLocked().
Reimplemented from BGenericIterable::GenericIterator. |
|
Returns the iterator's current index in the iterable. This is different than Position() -- it is the actual index in the physical data, after the sort order has been applied. Note that the returned index can be B_END_OF_DATA if we have reached the end of the iterator, or B_ENTRY_NOT_FOUND if this item in the iterator has been deleted from the iterable. |
|
This iterator supports for IIterator and IRandomIterator.
Reimplemented from BGenericIterable::GenericIterator. |
|
Moves the iterator forward by one and returns its previous index. This is equivalent to calling CurrentIndexLocked(), and then SetPosition(Position()+1). |
|
Implemented to call step the iterator and then call EntryAtLocked() with the previous index.
Implements BGenericIterable::GenericIterator. |
|
Add in BV_ITERABLE_SELECT and BV_ITERABLE_ORDER_BY arguments. If the subclass has implemented CreateSortOrderLocked() to support sorting, this function will add that data in to GenericIterable::Options(). Reimplemented from BGenericIterable::GenericIterator. |
|
Parse out BV_ITERATOR_SELECT and BV_ITERABLE_ORDER_BY arguments. Calls CreateSelectionLocked() to allow subclasses to implement project and CreateSortOrderLocked() to allow subclasses to implement sorting. Reimplemented from BGenericIterable::GenericIterator. |
|
Returns the current iterator position.
Reimplemented from BGenericIterable::GenericIterator. |
|
Implemented to call RemoveEntryAtLocked() with the current index.
Reimplemented from BGenericIterable::GenericIterator. |
|
Return the select argument in effect for this iterator. B_UNDEFINED_VALUE means to return all items. |
|
Changes the current iterator position.
Reimplemented from BGenericIterable::GenericIterator. |
|
|