SheafSystem
0.0.0.0
|
An iterator over a reserved term in the primary sum id space in which the equivlence between the ids in the space and the hub id space. This iterator can run in two modes. If is_active_only(), only the active interval of ids will be iterated over. If !is_active_only(), all the ids of the space will be iterated over. is_active_only() is the default mode. More...
#include <reserved_primary_index_space_iterator.h>
Friends | |
class | reserved_primary_index_space_state |
RESERVED_PRIMARY_INDEX_SPACE_ITERATOR FACET | |
pod_type | _offset |
The offset into the hub id space. More... | |
pod_type | _end |
The end id in the iteration. More... | |
bool | _is_active_only |
True if and only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over. More... | |
reserved_primary_index_space_iterator () | |
Default constructor. More... | |
reserved_primary_index_space_iterator (const reserved_primary_index_space_iterator &xother) | |
Copy constructor. More... | |
reserved_primary_index_space_iterator (const index_space_family &xid_spaces, pod_type xindex) | |
Constructor: Attach to state with index xindex in the family xid_spaces. More... | |
reserved_primary_index_space_iterator (const index_space_family &xid_spaces, const std::string &xname) | |
Constructor: Attach to state with name xname in the family xid_spaces. More... | |
reserved_primary_index_space_iterator & | operator= (const reserved_primary_index_space_iterator &xother) |
Assignment operator. More... | |
virtual | ~reserved_primary_index_space_iterator () |
Destructor. More... | |
pod_type | offset () const |
The offset into the hub id space. More... | |
bool | is_active_only () const |
True if and only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over. More... | |
void | put_is_active_only (bool xis_active_only) |
Set the iteration mode. If xis_active_only, only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over. More... | |
INDEX_SPACE_ITERATOR FACET | |
virtual reserved_primary_index_space_iterator & | operator= (const index_space_iterator &xother) |
Assignment operator. More... | |
virtual bool | operator== (const index_space_iterator &xother) const |
True if this is equivalent to xother. More... | |
virtual reserved_primary_index_space_iterator * | clone () const |
Virtual constructor, makes a new instance of the same type as this. If the iterator is attached, attach to the same state. More... | |
ITERATOR FACET | |
virtual void | next () |
Makes item() the next id in the iteration. More... | |
virtual void | reset () |
Restarts the iteration. More... | |
HANDLE FACET | |
virtual void | attach_to (explicit_index_space_state *xstate) |
Attach to the explicit id space state xstate. More... | |
virtual bool | conforms_to_state (explicit_index_space_state *xstate) const |
True if this conforms to the iterator type required by the explicit id space state xstate. More... | |
ANY FACET | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Types inherited from sheaf::index_space_iterator | |
typedef pod_index_type | pod_type |
The "plain old data" index type for this. More... | |
Public Member Functions inherited from sheaf::explicit_index_space_iterator | |
virtual | ~explicit_index_space_iterator () |
Destructor. More... | |
virtual const index_space_collection & | host () const |
The host collection. More... | |
virtual pod_type | index () const |
Index of this space. More... | |
virtual bool | is_attached () const |
True if this iterator is attached to a state. More... | |
virtual void | attach_to (pod_type xindex) |
Attach to the state with index xindex in the id space family id_spaces(). More... | |
virtual void | attach_to (const index_space_collection &xhost, pod_type xlocal_id) |
Attach to the state with local scope id, xlocal_id in the host id space collection xhost. More... | |
virtual void | detach () |
Detach this iterator form its state, if any. More... | |
virtual bool | conforms_to_state (const index_space_collection &xhost, pod_type xlocal_id) const |
True if this conforms to the handle type required by the state with local scope id xlocal_id in the host id space collection xhost. More... | |
Public Member Functions inherited from sheaf::index_space_iterator | |
virtual | ~index_space_iterator () |
Destructor. More... | |
bool | is_done () const |
True if iteration is finished. More... | |
void | force_is_done () |
Makes is_done() true. More... | |
pod_type | pod () const |
The current id in the iteration. More... | |
pod_type | hub_pod () const |
The current unglued hub id in the iteration. synonym for unglued_hub_pod(). More... | |
pod_type | unglued_hub_pod () const |
The current unglued hub id in the iteration. More... | |
pod_type | glued_hub_pod () const |
The current glued hub id in the iteration. More... | |
const index_space_family & | id_spaces () const |
The id space family for this (const version). More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space. More... | |
std::string | name () const |
Name of this space. More... | |
void | attach_to (const index_space_family &xid_spaces, pod_type xindex) |
Attach to the state with index xindex in the id space family xid_spaces. More... | |
void | attach_to (const index_space_family &xid_spaces, const std::string &xname) |
Attach to the state with name xname in the id space family xid_spaces. More... | |
void | attach_to (const std::string &xname) |
Attach to the state with name xname in the id space family id_spaces(). More... | |
void | attach_to (const index_space_handle &xid_space) |
Attach to the state of the id space xid_space. More... | |
bool | conforms_to_state (const index_space_family &xid_spaces, pod_type xindex) const |
True if this conforms to the handle type required by the state with index xindex in the id space family, xid_spaces. More... | |
bool | conforms_to_state (const index_space_family &xid_spaces, const std::string &xname) const |
True if this conforms to the handle type required by the state with name xname in the id space family, xid_spaces. More... | |
bool | conforms_to_state (pod_type xid) const |
True if this conforms to the handle type required by the state with id xid. More... | |
bool | conforms_to_state (const std::string &xname) const |
True if this conforms to the handle type required by the state with name xname. More... | |
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::explicit_index_space_iterator | |
explicit_index_space_iterator () | |
Default constructor. More... | |
explicit_index_space_iterator (const explicit_index_space_iterator &xother) | |
Copy constructor. More... | |
explicit_index_space_iterator & | operator= (const explicit_index_space_iterator &xother) |
Assignment operator. More... | |
explicit_index_space_state & | state () |
The explicit state (mutable version). More... | |
const explicit_index_space_state & | state () const |
The explicit state (const version). More... | |
explicit_index_space_state * | state (pod_type xindex) const |
The explicit id space state at id xindex in id space family id_spaces(). Returns null if no id space stae is available at index xindex. More... | |
explicit_index_space_state * | state (const index_space_collection &xhost, pod_type xlocal_id) const |
The explicit id space state with local scope id xlocal_id in the host id space collection xhost. More... | |
Protected Member Functions inherited from sheaf::index_space_iterator | |
index_space_iterator () | |
Creates an iterator for the id space. More... | |
index_space_iterator (const index_space_iterator &xother) | |
Copy constructor. More... | |
void | invalidate_ids () |
Set is_done() and invalidate pod() and hub_pod(). More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::explicit_index_space_iterator | |
explicit_index_space_state * | _state |
The explicit state. More... | |
Protected Attributes inherited from sheaf::index_space_iterator | |
bool | _is_done |
True if the iteration is finished. More... | |
pod_type | _pod |
The current id in the iteration. More... | |
pod_type | _hub_pod |
The current hub id in the iteration. More... | |
An iterator over a reserved term in the primary sum id space in which the equivlence between the ids in the space and the hub id space. This iterator can run in two modes. If is_active_only(), only the active interval of ids will be iterated over. If !is_active_only(), all the ids of the space will be iterated over. is_active_only() is the default mode.
Definition at line 43 of file reserved_primary_index_space_iterator.h.
sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator | ( | ) |
Default constructor.
Definition at line 35 of file reserved_primary_index_space_iterator.cc.
References invariant(), and sheaf::explicit_index_space_iterator::is_attached().
Referenced by clone(), and reserved_primary_index_space_iterator().
sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator | ( | const reserved_primary_index_space_iterator & | xother | ) |
Copy constructor.
Definition at line 53 of file reserved_primary_index_space_iterator.cc.
References invariant(), and reserved_primary_index_space_iterator().
sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator | ( | const index_space_family & | xid_spaces, |
pod_type | xindex | ||
) |
Constructor: Attach to state with index xindex in the family xid_spaces.
Definition at line 72 of file reserved_primary_index_space_iterator.cc.
References attach_to(), conforms_to_state(), sheaf::index_space_iterator::id_spaces(), sheaf::explicit_index_space_iterator::index(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), and reserved_primary_index_space_iterator().
sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator | ( | const index_space_family & | xid_spaces, |
const std::string & | xname | ||
) |
Constructor: Attach to state with name xname in the family xid_spaces.
Definition at line 97 of file reserved_primary_index_space_iterator.cc.
References attach_to(), conforms_to_state(), sheaf::index_space_iterator::id_spaces(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), sheaf::index_space_iterator::name(), and operator=().
|
virtual |
Destructor.
Definition at line 153 of file reserved_primary_index_space_iterator.cc.
References offset().
Referenced by operator=().
|
protectedvirtual |
Attach to the explicit id space state xstate.
Implements sheaf::explicit_index_space_iterator.
Definition at line 432 of file reserved_primary_index_space_iterator.cc.
References _end, _is_active_only, _offset, sheaf::explicit_index_space_iterator::_state, conforms_to_state(), sheaf::explicit_index_space_state::ct(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), sheaf::reserved_primary_index_space_state::next_hub_id(), sheaf::primary_index_space_state::offset(), reset(), and sheaf::explicit_index_space_iterator::state().
Referenced by reserved_primary_index_space_iterator(), and reset().
|
virtual |
Virtual constructor, makes a new instance of the same type as this. If the iterator is attached, attach to the same state.
Implements sheaf::explicit_index_space_iterator.
Definition at line 313 of file reserved_primary_index_space_iterator.cc.
References sheaf::any::is_same_type(), next(), and reserved_primary_index_space_iterator().
Referenced by operator==().
|
protectedvirtual |
True if this conforms to the iterator type required by the explicit id space state xstate.
Implements sheaf::explicit_index_space_iterator.
Definition at line 467 of file reserved_primary_index_space_iterator.cc.
References is_ancestor_of().
Referenced by attach_to(), and reserved_primary_index_space_iterator().
|
virtual |
Class invariant.
Reimplemented from sheaf::explicit_index_space_iterator.
Definition at line 518 of file reserved_primary_index_space_iterator.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::explicit_index_space_iterator::invariant(), and sheaf::any::invariant_check().
Referenced by attach_to(), is_ancestor_of(), next(), operator=(), operator==(), reserved_primary_index_space_iterator(), and reset().
bool sheaf::reserved_primary_index_space_iterator::is_active_only | ( | ) | const |
True if and only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over.
Definition at line 191 of file reserved_primary_index_space_iterator.cc.
References _is_active_only, and put_is_active_only().
Referenced by offset(), and put_is_active_only().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::explicit_index_space_iterator.
Definition at line 497 of file reserved_primary_index_space_iterator.cc.
References invariant().
Referenced by conforms_to_state(), operator=(), and operator==().
|
virtual |
Makes item() the next id in the iteration.
Implements sheaf::index_space_iterator.
Definition at line 347 of file reserved_primary_index_space_iterator.cc.
References _end, sheaf::index_space_iterator::_hub_pod, sheaf::index_space_iterator::_pod, sheaf::index_space_iterator::hub_pod(), sheaf::index_space_iterator::invalidate_ids(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), sheaf::index_space_iterator::is_done(), sheaf::index_space_iterator::pod(), and reset().
Referenced by clone().
sheaf::reserved_primary_index_space_iterator::pod_type sheaf::reserved_primary_index_space_iterator::offset | ( | ) | const |
The offset into the hub id space.
Definition at line 170 of file reserved_primary_index_space_iterator.cc.
References _offset, is_active_only(), and sheaf::explicit_index_space_iterator::is_attached().
Referenced by ~reserved_primary_index_space_iterator().
sheaf::reserved_primary_index_space_iterator & sheaf::reserved_primary_index_space_iterator::operator= | ( | const reserved_primary_index_space_iterator & | xother | ) |
Assignment operator.
Definition at line 123 of file reserved_primary_index_space_iterator.cc.
References _end, _is_active_only, _offset, sheaf::explicit_index_space_iterator::detach(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), and ~reserved_primary_index_space_iterator().
Referenced by put_is_active_only(), and reserved_primary_index_space_iterator().
|
virtual |
Assignment operator.
Reimplemented from sheaf::explicit_index_space_iterator.
Definition at line 258 of file reserved_primary_index_space_iterator.cc.
References invariant(), is_ancestor_of(), and operator==().
|
virtual |
True if this is equivalent to xother.
Reimplemented from sheaf::explicit_index_space_iterator.
Definition at line 283 of file reserved_primary_index_space_iterator.cc.
References _end, _is_active_only, _offset, clone(), invariant(), is_ancestor_of(), sheaf::explicit_index_space_iterator::is_attached(), and sheaf::explicit_index_space_iterator::operator==().
Referenced by operator=().
void sheaf::reserved_primary_index_space_iterator::put_is_active_only | ( | bool | xis_active_only | ) |
Set the iteration mode. If xis_active_only, only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over.
Definition at line 210 of file reserved_primary_index_space_iterator.cc.
References _end, _is_active_only, _offset, sheaf::explicit_index_space_iterator::_state, sheaf::explicit_index_space_state::ct(), is_active_only(), sheaf::explicit_index_space_iterator::is_attached(), sheaf::reserved_primary_index_space_state::next_hub_id(), and operator=().
Referenced by is_active_only().
|
virtual |
Restarts the iteration.
Implements sheaf::index_space_iterator.
Definition at line 386 of file reserved_primary_index_space_iterator.cc.
References _end, sheaf::index_space_iterator::_hub_pod, sheaf::index_space_iterator::_is_done, _offset, sheaf::index_space_iterator::_pod, attach_to(), sheaf::index_space_iterator::invalidate_ids(), invariant(), sheaf::explicit_index_space_iterator::is_attached(), and sheaf::is_valid().
Referenced by attach_to(), and next().
|
protected |
The end id in the iteration.
Definition at line 115 of file reserved_primary_index_space_iterator.h.
Referenced by attach_to(), next(), operator=(), operator==(), put_is_active_only(), and reset().
|
protected |
True if and only the active interval of the id space is iterated over. Otherwise, all the ids in the space will be iterated over.
Definition at line 121 of file reserved_primary_index_space_iterator.h.
Referenced by attach_to(), is_active_only(), operator=(), operator==(), and put_is_active_only().
|
protected |
The offset into the hub id space.
Definition at line 110 of file reserved_primary_index_space_iterator.h.
Referenced by attach_to(), offset(), operator=(), operator==(), put_is_active_only(), and reset().