SheafSystem  0.0.0.0
sheaf::implicit_entry_map_iterator< E, I > Class Template Reference

An iterator over the entries in an implicit_entry_map. This iteration is NOT order preserving. More...

#include <implicit_entry_map_iterator.h>

Inheritance diagram for sheaf::implicit_entry_map_iterator< E, I >:
sheaf::any

IMPLICIT_ENTRY_MAP_ITERATOR FACET

typedef implicit_entry_map< E, I >::pod_type pod_type
 The "plain old data" index type for this. More...
 
 implicit_entry_map_iterator (const implicit_entry_map< E, I > &xmap)
 Creates an iterator for xmap. More...
 
 ~implicit_entry_map_iterator ()
 Destructor. More...
 
E & item ()
 The current value of the iteration (mutable version). More...
 
const E & item () const
 The current value of the iteration (const version). More...
 
pod_type id () const
 The current id of the value of the iteration. More...
 
void next ()
 Makes item() the next integer in the iteration. More...
 
bool is_done () const
 True if iteration is finished. More...
 
void reset ()
 Restarts the iteration. More...
 
 implicit_entry_map_iterator ()
 Default constructor; disabled. More...
 
 implicit_entry_map_iterator (const implicit_entry_map_iterator< E, I > &xother)
 Copy constructor. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 
virtual implicit_entry_map_iteratorclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
implicit_entry_map_iteratoroperator= (const implicit_entry_map_iterator &xother)
 Assignment operator. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

template<typename E, typename I>
class sheaf::implicit_entry_map_iterator< E, I >

An iterator over the entries in an implicit_entry_map. This iteration is NOT order preserving.

Definition at line 47 of file implicit_entry_map.h.

Member Typedef Documentation

◆ pod_type

template<typename E, typename I>
typedef implicit_entry_map<E, I>::pod_type sheaf::implicit_entry_map_iterator< E, I >::pod_type

The "plain old data" index type for this.

Definition at line 57 of file implicit_entry_map_iterator.h.

Constructor & Destructor Documentation

◆ implicit_entry_map_iterator() [1/3]

template<typename E , typename I >
sheaf::implicit_entry_map_iterator< E, I >::implicit_entry_map_iterator ( const implicit_entry_map< E, I > &  xmap)

Creates an iterator for xmap.

Definition at line 51 of file implicit_entry_map_iterator.impl.h.

References sheaf::implicit_entry_map_iterator< E, I >::~implicit_entry_map_iterator().

◆ ~implicit_entry_map_iterator()

◆ implicit_entry_map_iterator() [2/3]

template<typename E, typename I>
sheaf::implicit_entry_map_iterator< E, I >::implicit_entry_map_iterator ( )
inlineprotected

Default constructor; disabled.

Definition at line 104 of file implicit_entry_map_iterator.h.

Referenced by sheaf::implicit_entry_map_iterator< E, I >::reset().

◆ implicit_entry_map_iterator() [3/3]

template<typename E , typename I >
sheaf::implicit_entry_map_iterator< E, I >::implicit_entry_map_iterator ( const implicit_entry_map_iterator< E, I > &  xother)
protected

Member Function Documentation

◆ clone()

template<typename E , typename I >
implicit_entry_map_iterator< E, I > * sheaf::implicit_entry_map_iterator< E, I >::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from sheaf::any.

Definition at line 377 of file implicit_entry_map_iterator.impl.h.

References sheaf::implicit_entry_map_iterator< E, I >::operator=().

Referenced by sheaf::implicit_entry_map_iterator< E, I >::is_ancestor_of().

◆ id()

template<typename E , typename I >
implicit_entry_map_iterator< E, I >::pod_type sheaf::implicit_entry_map_iterator< E, I >::id ( ) const

The current id of the value of the iteration.

Precondition
  • !is_done()

Definition at line 143 of file implicit_entry_map_iterator.impl.h.

References sheaf::implicit_entry_map_iterator< E, I >::next().

Referenced by sheaf::implicit_entry_map_iterator< E, I >::item().

◆ invariant()

template<typename E , typename I >
bool sheaf::implicit_entry_map_iterator< E, I >::invariant ( ) const
virtual

Class invariant.

Invariant
Todo:
Implement invariant.

Reimplemented from sheaf::any.

Definition at line 423 of file implicit_entry_map_iterator.impl.h.

References sheaf::any::invariant().

Referenced by sheaf::implicit_entry_map_iterator< E, I >::operator=().

◆ is_ancestor_of()

template<typename E , typename I >
bool sheaf::implicit_entry_map_iterator< E, I >::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::any.

Definition at line 357 of file implicit_entry_map_iterator.impl.h.

References sheaf::implicit_entry_map_iterator< E, I >::clone().

Referenced by sheaf::implicit_entry_map_iterator< E, I >::implicit_entry_map_iterator().

◆ is_done()

template<typename E , typename I >
bool sheaf::implicit_entry_map_iterator< E, I >::is_done ( ) const

◆ item() [1/2]

template<typename E , typename I >
E & sheaf::implicit_entry_map_iterator< E, I >::item ( )

The current value of the iteration (mutable version).

Precondition
  • !is_done()

Definition at line 87 of file implicit_entry_map_iterator.impl.h.

Referenced by sheaf::implicit_entry_map_iterator< E, I >::~implicit_entry_map_iterator().

◆ item() [2/2]

template<typename E , typename I >
const E & sheaf::implicit_entry_map_iterator< E, I >::item ( ) const

The current value of the iteration (const version).

Precondition
  • !is_done()

Definition at line 115 of file implicit_entry_map_iterator.impl.h.

References sheaf::implicit_entry_map_iterator< E, I >::id().

◆ next()

template<typename E , typename I >
void sheaf::implicit_entry_map_iterator< E, I >::next ( )

Makes item() the next integer in the iteration.

Precondition
  • !is_done()
Issue:
This is not very efficient. Maybe this should be a mode or we should have a const iterator and a mutable iterator.

Definition at line 163 of file implicit_entry_map_iterator.impl.h.

References sheaf::invalid_pod_index(), sheaf::implicit_entry_map_iterator< E, I >::is_done(), and sheaf::is_valid().

Referenced by sheaf::implicit_entry_map_iterator< E, I >::id().

◆ operator=()

template<typename E , typename I >
implicit_entry_map_iterator< E, I > & sheaf::implicit_entry_map_iterator< E, I >::operator= ( const implicit_entry_map_iterator< E, I > &  xother)

◆ reset()

template<typename E , typename I >
void sheaf::implicit_entry_map_iterator< E, I >::reset ( )

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