Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal > Class Template Reference

const iterator for table More...

#include <iter.hh>

List of all members.

Public Types

typedef value_type const * pointer
 Pointer type.
typedef value_type const & reference
 Reference type.
typedef size_t size_type
 Size type.
typedef Value value_type
 Type of the pointed elements.

Public Member Functions

 const_iter ()
 default crontructor
 const_iter (iter< Key, Value, Extract, Hash, Equal > const &other)
 Convertion constructor.
bool operator!= (const_iter const &other) const
 Difference test.
reference operator* () const
 dereference operator
const_iter operator+ (size_type delta) const
 Addition operation.
const_iteroperator++ ()
 Pre-incremant operation.
const_iter operator++ (int)
 Post-increment operation.
const_iteroperator+= (size_type delta)
 Advance operation.
pointer operator-> () const
 access operator
bool operator== (const_iter const &other) const
 Equality test.

Private Types

typedef table< Key, Value,
Extract, Hash, Equal > 
container_type
typedef container_type::node_type node_type

Private Member Functions

 const_iter (node_type const *, container_type const *)

Private Attributes

node_type const * current
container_type const * owner

Friends

class table

Detailed Description

template<typename Key, typename Value, class Extract, class Hash, class Equal>
class utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >

const iterator for table

This class implements a const iterator for utilmm::hash_toolbox::table. A const iterator is an iterator with guarantees that it will never modify the container it points to.

Author:
Frédéric Py <fpy@laas.fr>

Definition at line 38 of file iter.hh.


Member Typedef Documentation

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef table<Key, Value, Extract, Hash, Equal> utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::container_type [private]

Definition at line 146 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef container_type::node_type utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::node_type [private]

Definition at line 147 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef value_type const* utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::pointer

Pointer type.

This is the type of the pointer used to access to Value. For cont iterator it is a const pointer

Definition at line 50 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef value_type const& utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::reference

Reference type.

This is the type of the reference used to access to Value. For cont iterator it is a const reference

Definition at line 56 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef size_t utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::size_type

Size type.

This is the type used to advance the iterator or other things like that.

Definition at line 62 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
typedef Value utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::value_type

Type of the pointed elements.

This the type of the elements in the container

Definition at line 44 of file iter.hh.


Constructor & Destructor Documentation

template<typename Key, typename Value, class Extract, class Hash, class Equal>
utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::const_iter ( )

default crontructor

Create an iterator not attached to any table

template<typename Key, typename Value, class Extract, class Hash, class Equal>
utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::const_iter ( iter< Key, Value, Extract, Hash, Equal > const &  other)

Convertion constructor.

This constructor is used to make implicit conversion from non cont iterator to const iterator when needed.

Parameters:
otherthe instance to copy
template<typename Key, typename Value, class Extract, class Hash, class Equal>
utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::const_iter ( node_type const *  ,
container_type const *   
) [private]

Member Function Documentation

template<typename Key, typename Value, class Extract, class Hash, class Equal>
bool utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator!= ( const_iter< Key, Value, Extract, Hash, Equal > const &  other) const

Difference test.

Parameters:
otherThe instance to compare
Return values:
trueif *this is not equal to other
falseelse
template<typename Key, typename Value, class Extract, class Hash, class Equal>
reference utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator* ( ) const

dereference operator

Returns:
a refence to pointed cell
template<typename Key, typename Value, class Extract, class Hash, class Equal>
const_iter utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator+ ( size_type  delta) const

Addition operation.

Parameters:
deltadistance to add

This function returns an iterator delta cells after current instance

Returns:
the itrerator at delta
template<typename Key, typename Value, class Extract, class Hash, class Equal>
const_iter& utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator++ ( )

Pre-incremant operation.

Advance iterator of one cell

Returns:
the iterator after operation.
template<typename Key, typename Value, class Extract, class Hash, class Equal>
const_iter utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator++ ( int  )

Post-increment operation.

Advance iterator of one cell

Returns:
value of the iterator just before the operation.
template<typename Key, typename Value, class Extract, class Hash, class Equal>
const_iter& utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator+= ( size_type  delta)

Advance operation.

Parameters:
deltadistance to advance

This function increments the iterator position of the given distance delta .

Returns:
*this after operation
template<typename Key, typename Value, class Extract, class Hash, class Equal>
pointer utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator-> ( ) const

access operator

This operator allow user to acces directly to attributes of pointed cell.

Returns:
a pointer to the cell
template<typename Key, typename Value, class Extract, class Hash, class Equal>
bool utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::operator== ( const_iter< Key, Value, Extract, Hash, Equal > const &  other) const

Equality test.

Parameters:
otherThe instance to compare
Return values:
trueif *this is equal to other
falseelse

Friends And Related Function Documentation

template<typename Key, typename Value, class Extract, class Hash, class Equal>
friend class table [friend]

Definition at line 155 of file iter.hh.


Member Data Documentation

template<typename Key, typename Value, class Extract, class Hash, class Equal>
node_type const* utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::current [private]

Definition at line 150 of file iter.hh.

template<typename Key, typename Value, class Extract, class Hash, class Equal>
container_type const* utilmm::hash_toolbox::const_iter< Key, Value, Extract, Hash, Equal >::owner [private]

Definition at line 149 of file iter.hh.


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


utilmm
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Wed Sep 16 2015 07:05:43