|
virtual | ~Iterator ()=default |
| Destructor. More...
|
|
virtual Status | First ()=0 |
| Initializes the iterator to indicate the first record. More...
|
|
virtual Status | Last ()=0 |
| Initializes the iterator to indicate the last record. More...
|
|
virtual Status | Jump (std::string_view key)=0 |
| Initializes the iterator to indicate a specific record. More...
|
|
virtual Status | JumpLower (std::string_view key, bool inclusive=false)=0 |
| Initializes the iterator to indicate the last record whose key is lower than a given key. More...
|
|
virtual Status | JumpUpper (std::string_view key, bool inclusive=false)=0 |
| Initializes the iterator to indicate the first record whose key is upper than a given key. More...
|
|
virtual Status | Next ()=0 |
| Moves the iterator to the next record. More...
|
|
virtual Status | Previous ()=0 |
| Moves the iterator to the previous record. More...
|
|
virtual Status | Process (RecordProcessor *proc, bool writable)=0 |
| Processes the current record with a processor. More...
|
|
virtual Status | Process (RecordLambdaType rec_lambda, bool writable) |
| Processes the current record with a lambda function. More...
|
|
virtual Status | Get (std::string *key=nullptr, std::string *value=nullptr) |
| Gets the key and the value of the current record of the iterator. More...
|
|
virtual std::string | GetKey (std::string_view default_value="") |
| Gets the key of the current record, in a simple way. More...
|
|
virtual std::string | GetValue (std::string_view default_value="") |
| Gets the value of the current record, in a simple way. More...
|
|
virtual Status | Set (std::string_view value, std::string *old_key=nullptr, std::string *old_value=nullptr) |
| Sets the value of the current record. More...
|
|
virtual Status | Remove (std::string *old_key=nullptr, std::string *old_value=nullptr) |
| Removes the current record. More...
|
|
virtual Status | Step (std::string *key=nullptr, std::string *value=nullptr) |
| Gets the current record and moves the iterator to the next record. More...
|
|
Interface of iterator for each record.
virtual Status tkrzw::DBM::Iterator::Jump |
( |
std::string_view |
key | ) |
|
|
pure virtual |
Initializes the iterator to indicate a specific record.
- Parameters
-
key | The key of the record to look for. |
- Returns
- The result status.
Ordered databases can support "lower bound" jump; If there's no record with the same key, the iterator refers to the first record whose key is greater than the given key. The operation fails with unordered databases if there's no record with the same key.
Implemented in tkrzw::TreeDBM::Iterator, tkrzw::TinyDBM::Iterator, tkrzw::StdTreeDBM::Iterator, tkrzw::StdHashDBM::Iterator, tkrzw::SkipDBM::Iterator, tkrzw::ShardDBM::Iterator, tkrzw::PolyDBM::Iterator, tkrzw::HashDBM::Iterator, tkrzw::CacheDBM::Iterator, and tkrzw::BabyDBM::Iterator.
virtual Status tkrzw::DBM::Iterator::JumpLower |
( |
std::string_view |
key, |
|
|
bool |
inclusive = false |
|
) |
| |
|
pure virtual |
Initializes the iterator to indicate the last record whose key is lower than a given key.
- Parameters
-
key | The key to compare with. |
inclusive | If true, the condition is inclusive: equal to or lower than the key. |
- Returns
- The result status.
Even if there's no matching record, the operation doesn't fail. This method is suppoerted only by ordered databases.
Implemented in tkrzw::TreeDBM::Iterator, tkrzw::TinyDBM::Iterator, tkrzw::StdTreeDBM::Iterator, tkrzw::StdHashDBM::Iterator, tkrzw::SkipDBM::Iterator, tkrzw::ShardDBM::Iterator, tkrzw::PolyDBM::Iterator, tkrzw::HashDBM::Iterator, tkrzw::CacheDBM::Iterator, and tkrzw::BabyDBM::Iterator.
virtual Status tkrzw::DBM::Iterator::JumpUpper |
( |
std::string_view |
key, |
|
|
bool |
inclusive = false |
|
) |
| |
|
pure virtual |
Initializes the iterator to indicate the first record whose key is upper than a given key.
- Parameters
-
key | The key to compare with. |
inclusive | If true, the condition is inclusive: equal to or upper than the key. |
- Returns
- The result status.
Even if there's no matching record, the operation doesn't fail. This method is suppoerted only by ordered databases.
Implemented in tkrzw::TreeDBM::Iterator, tkrzw::TinyDBM::Iterator, tkrzw::StdTreeDBM::Iterator, tkrzw::StdHashDBM::Iterator, tkrzw::SkipDBM::Iterator, tkrzw::ShardDBM::Iterator, tkrzw::PolyDBM::Iterator, tkrzw::HashDBM::Iterator, tkrzw::CacheDBM::Iterator, and tkrzw::BabyDBM::Iterator.
Processes the current record with a processor.
- Parameters
-
proc | The pointer to the processor object. |
writable | True if the processor can edit the record. |
- Returns
- The result status.
If the current record exists, the ProcessFull of the processor is called. Otherwise, this method fails and no method of the processor is called. If the current record is removed, the iterator is moved to the next record.
Implemented in tkrzw::TreeDBM::Iterator, tkrzw::TinyDBM::Iterator, tkrzw::StdTreeDBM::Iterator, tkrzw::StdHashDBM::Iterator, tkrzw::SkipDBM::Iterator, tkrzw::ShardDBM::Iterator, tkrzw::PolyDBM::Iterator, tkrzw::HashDBM::Iterator, tkrzw::CacheDBM::Iterator, and tkrzw::BabyDBM::Iterator.