Chapter 9.  Dbstl Iterator Classes

Common information for all dbstl iterators:.

1. Each instance of a dbstl iterator uniquely owns a Berkeley DB cursor, so that the key/data pair it currently sits on is always valid before it moves elsewhere. It also caches the current key/data pair values in order for member functions like operator* /operator-> to work properly, but caching is not compatible with standard C++ Stl behavior --- the C++ standard requires the iterator refer to a shared piece of memory where the data is stored, thus two iterators of the same container sitting on the same element should point to the same memory location, which is false for dbstl iterators.

2. There are some functions common to each child class of this class which have identical behaviors, so we will document them here.

This class is the base class for all dbstl iterators, there is no much to say about this class itself, and users are not supposed to directly use this class at all. So we will talk about some common functions of dbstl iterators in this section.

See Also

db_vector_base_iterator db_vector_iterator db_map_base_iterator db_map_iterator db_set_base_iterator db_set_iterator

Public Members

Member Description
db_base_iterator db_base_iterator
db_reverse_iterator db_reverse_iterator
db_map_iterator db_map_iterator
Iterator classes for db_map and db_multimap. Iterator classes for db_map and db_multimap.
Iterator classes for db_set and db_multiset. Iterator classes for db_set and db_multiset.
Iterator classes for db_vector. Iterator classes for db_vector.

Group

None