STXXL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::hash_map::hash_map_iterator< HashMap > Class Template Reference

Detailed Description

template<class HashMap>
class stxxl::hash_map::hash_map_iterator< HashMap >

Definition at line 29 of file iterator.h.

+ Inheritance diagram for stxxl::hash_map::hash_map_iterator< HashMap >:
+ Collaboration diagram for stxxl::hash_map::hash_map_iterator< HashMap >:

Public Types

typedef
stxxl::hash_map::hash_map_iterator_base
< hash_map_type
base_type
 
typedef
hash_map_type::bid_iterator_type 
bid_iterator_type
 
typedef hash_map_type::bucket_type bucket_type
 
typedef
hash_map_type::const_pointer 
const_pointer
 
typedef
hash_map_type::const_reference 
const_reference
 
typedef
hash_map_type::external_size_type 
external_size_type
 
typedef
stxxl::hash_map::hash_map_const_iterator
< hash_map_type
hash_map_const_iterator
 
typedef HashMap hash_map_type
 
typedef
hash_map_type::internal_size_type 
internal_size_type
 
typedef std::forward_iterator_tag iterator_category
 
typedef hash_map_type::key_type key_type
 
typedef hash_map_type::node_type node_type
 
typedef hash_map_type::pointer pointer
 
typedef buffered_reader
< typename
hash_map_type::block_cache_type,
bid_iterator_type
reader_type
 
typedef hash_map_type::reference reference
 
typedef hash_map_type::source_type source_type
 
typedef hash_map_type::value_type value_type
 
- Public Types inherited from stxxl::hash_map::hash_map_iterator_base< HashMap >
typedef
hash_map_type::bid_iterator_type 
bid_iterator_type
 
typedef hash_map_type::bucket_type bucket_type
 
typedef
hash_map_type::const_reference 
const_reference
 
typedef
hash_map_type::external_size_type 
external_size_type
 
typedef HashMap hash_map_type
 
typedef
hash_map_type::internal_size_type 
internal_size_type
 
typedef std::forward_iterator_tag iterator_category
 
typedef hash_map_type::key_type key_type
 
typedef hash_map_type::node_type node_type
 
typedef buffered_reader
< typename
hash_map_type::block_cache_type,
bid_iterator_type
reader_type
 
typedef hash_map_type::reference reference
 
typedef hash_map_type::source_type source_type
 
typedef hash_map_type::value_type value_type
 

Public Member Functions

 hash_map_iterator (hash_map_type *map, internal_size_type i_bucket, node_type *node, external_size_type i_external, source_type source, bool ext_valid, key_type key)
 
 hash_map_iterator ()
 
 hash_map_iterator (hash_map_type *map)
 
 hash_map_iterator (const hash_map_iterator &obj)
 
bool operator!= (const hash_map_iterator &obj) const
 
bool operator!= (const hash_map_const_iterator &obj) const
 
reference operator* ()
 Return reference to current value. If source is external, mark the value's block as dirty. More...
 
hash_map_iterator
< hash_map_type > & 
operator++ ()
 Increment iterator. More...
 
pointer operator-> ()
 Return reference to current value. If source is external, mark the value's block as dirty. More...
 
hash_map_iteratoroperator= (const hash_map_iterator &obj)
 
bool operator== (const hash_map_iterator &obj) const
 
bool operator== (const hash_map_const_iterator &obj) const
 
- Public Member Functions inherited from stxxl::hash_map::hash_map_iterator_base< HashMap >
 hash_map_iterator_base (HashMap *map, internal_size_type i_bucket, node_type *node, external_size_type i_external, source_type source, bool ext_valid, key_type key)
 Construct a new iterator. More...
 
 hash_map_iterator_base (hash_map_type *map)
 Construct a new iterator pointing to the end of the given hash-map. More...
 
 hash_map_iterator_base (const hash_map_iterator_base &obj)
 Construct a new iterator from an existing one. More...
 
virtual ~hash_map_iterator_base ()
 
void find_next (bool start_prefetching=false)
 Advance iterator to the next value The next value is determined in the following way. More...
 
bool operator!= (const hash_map_iterator_base &obj) const
 
hash_map_iterator_baseoperator= (const hash_map_iterator_base &obj)
 Assignment operator. More...
 
bool operator== (const hash_map_iterator_base &obj) const
 Two iterators are equal if the point to the same value in the same map. More...
 

Additional Inherited Members

- Protected Member Functions inherited from stxxl::hash_map::hash_map_iterator_base< HashMap >
void init_reader ()
 Initialize reader object to scan external values. More...
 
void reset_reader ()
 Reset reader-object. More...
 
- Protected Attributes inherited from stxxl::hash_map::hash_map_iterator_base< HashMap >
bool end_
 true if iterator equals end() More...
 
bool ext_valid_
 true if i_external points to the current or next external value More...
 
internal_size_type i_bucket_
 index of current bucket More...
 
external_size_type i_external_
 position of current (source=external) or next (source=internal) external value (see _ext_valid) More...
 
key_type key_
 key of current value More...
 
HashMap * map_
 
node_typenode_
 current (source=internal) or old (src=external) internal node More...
 
bool prefetch_
 true if prefetching enabled; false by default, will be set to true when incrementing (see find_next()) More...
 
reader_typereader_
 
source_type source_
 source of current value: external or internal More...
 

Member Typedef Documentation

Definition at line 404 of file iterator.h.

template<class HashMap >
typedef hash_map_type::bid_iterator_type stxxl::hash_map::hash_map_iterator< HashMap >::bid_iterator_type

Definition at line 396 of file iterator.h.

template<class HashMap >
typedef hash_map_type::bucket_type stxxl::hash_map::hash_map_iterator< HashMap >::bucket_type

Definition at line 395 of file iterator.h.

template<class HashMap >
typedef hash_map_type::const_pointer stxxl::hash_map::hash_map_iterator< HashMap >::const_pointer

Definition at line 393 of file iterator.h.

template<class HashMap >
typedef hash_map_type::const_reference stxxl::hash_map::hash_map_iterator< HashMap >::const_reference

Definition at line 391 of file iterator.h.

template<class HashMap >
typedef hash_map_type::external_size_type stxxl::hash_map::hash_map_iterator< HashMap >::external_size_type

Definition at line 387 of file iterator.h.

template<class HashMap >
typedef HashMap stxxl::hash_map::hash_map_iterator< HashMap >::hash_map_type

Definition at line 385 of file iterator.h.

template<class HashMap >
typedef hash_map_type::internal_size_type stxxl::hash_map::hash_map_iterator< HashMap >::internal_size_type

Definition at line 386 of file iterator.h.

template<class HashMap >
typedef std::forward_iterator_tag stxxl::hash_map::hash_map_iterator< HashMap >::iterator_category

Definition at line 402 of file iterator.h.

template<class HashMap >
typedef hash_map_type::key_type stxxl::hash_map::hash_map_iterator< HashMap >::key_type

Definition at line 389 of file iterator.h.

template<class HashMap >
typedef hash_map_type::node_type stxxl::hash_map::hash_map_iterator< HashMap >::node_type

Definition at line 394 of file iterator.h.

template<class HashMap >
typedef hash_map_type::pointer stxxl::hash_map::hash_map_iterator< HashMap >::pointer

Definition at line 392 of file iterator.h.

template<class HashMap >
typedef buffered_reader<typename hash_map_type::block_cache_type, bid_iterator_type> stxxl::hash_map::hash_map_iterator< HashMap >::reader_type

Definition at line 400 of file iterator.h.

template<class HashMap >
typedef hash_map_type::reference stxxl::hash_map::hash_map_iterator< HashMap >::reference

Definition at line 390 of file iterator.h.

template<class HashMap >
typedef hash_map_type::source_type stxxl::hash_map::hash_map_iterator< HashMap >::source_type

Definition at line 397 of file iterator.h.

template<class HashMap >
typedef hash_map_type::value_type stxxl::hash_map::hash_map_iterator< HashMap >::value_type

Definition at line 388 of file iterator.h.

Constructor & Destructor Documentation

template<class HashMap >
stxxl::hash_map::hash_map_iterator< HashMap >::hash_map_iterator ( hash_map_type map,
internal_size_type  i_bucket,
node_type node,
external_size_type  i_external,
source_type  source,
bool  ext_valid,
key_type  key 
)
inline

Definition at line 408 of file iterator.h.

template<class HashMap >
stxxl::hash_map::hash_map_iterator< HashMap >::hash_map_iterator ( )
inline

Definition at line 414 of file iterator.h.

template<class HashMap >
stxxl::hash_map::hash_map_iterator< HashMap >::hash_map_iterator ( hash_map_type map)
inline

Definition at line 418 of file iterator.h.

template<class HashMap >
stxxl::hash_map::hash_map_iterator< HashMap >::hash_map_iterator ( const hash_map_iterator< HashMap > &  obj)
inline

Definition at line 422 of file iterator.h.

Member Function Documentation

template<class HashMap >
bool stxxl::hash_map::hash_map_iterator< HashMap >::operator!= ( const hash_map_iterator< HashMap > &  obj) const
inline

Definition at line 442 of file iterator.h.

References operator!=().

template<class HashMap >
bool stxxl::hash_map::hash_map_iterator< HashMap >::operator!= ( const hash_map_const_iterator obj) const
inline

Definition at line 447 of file iterator.h.

References operator!=().

template<class HashMap >
reference stxxl::hash_map::hash_map_iterator< HashMap >::operator* ( )
inline

Return reference to current value. If source is external, mark the value's block as dirty.

Definition at line 454 of file iterator.h.

template<class HashMap >
hash_map_iterator<hash_map_type>& stxxl::hash_map::hash_map_iterator< HashMap >::operator++ ( )
inline

Increment iterator.

Definition at line 477 of file iterator.h.

template<class HashMap >
pointer stxxl::hash_map::hash_map_iterator< HashMap >::operator-> ( )
inline

Return reference to current value. If source is external, mark the value's block as dirty.

Definition at line 471 of file iterator.h.

template<class HashMap >
hash_map_iterator& stxxl::hash_map::hash_map_iterator< HashMap >::operator= ( const hash_map_iterator< HashMap > &  obj)
inline

Definition at line 426 of file iterator.h.

template<class HashMap >
bool stxxl::hash_map::hash_map_iterator< HashMap >::operator== ( const hash_map_iterator< HashMap > &  obj) const
inline

Definition at line 432 of file iterator.h.

References operator==().

template<class HashMap >
bool stxxl::hash_map::hash_map_iterator< HashMap >::operator== ( const hash_map_const_iterator obj) const
inline

Definition at line 437 of file iterator.h.

References operator==().


The documentation for this class was generated from the following file: