SheafSystem
0.0.0.0
|
An implementation of class index_space_iterator for an explicit_index_space_state. More...
#include <explicit_index_space_iterator.h>
Friends | |
class | explicit_index_space_state |
EXPLICIT_INDEX_SPACE_ITERATOR FACET | |
explicit_index_space_state * | _state |
The explicit state. More... | |
virtual | ~explicit_index_space_iterator () |
Destructor. More... | |
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... | |
INDEX_SPACE_ITERATOR FACET | |
virtual explicit_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 explicit_index_space_iterator * | clone () const =0 |
Virtual constructor, makes a new instance of the same type as this. If the iterator is attached, attach to the same state. More... | |
HANDLE FACET | |
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... | |
virtual void | attach_to (explicit_index_space_state *xstate)=0 |
Attach to the explicit id space state xstate. More... | |
virtual bool | conforms_to_state (explicit_index_space_state *xstate) const =0 |
True if this conforms to the iterator type required by the explicit id space state xstate. 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... | |
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::index_space_iterator | |
virtual | ~index_space_iterator () |
Destructor. More... | |
virtual void | next ()=0 |
Makes id() the next id in the iteration. More... | |
bool | is_done () const |
True if iteration is finished. More... | |
virtual void | reset ()=0 |
Restarts the iteration. 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::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::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 implementation of class index_space_iterator for an explicit_index_space_state.
Definition at line 41 of file explicit_index_space_iterator.h.
|
virtual |
Destructor.
Definition at line 34 of file explicit_index_space_iterator.cc.
References explicit_index_space_iterator().
|
protected |
Default constructor.
Definition at line 52 of file explicit_index_space_iterator.cc.
References invariant().
Referenced by ~explicit_index_space_iterator().
|
protected |
Copy constructor.
Definition at line 69 of file explicit_index_space_iterator.cc.
References invariant(), and operator=().
|
virtual |
Attach to the state with index xindex in the id space family id_spaces().
Implements sheaf::index_space_iterator.
Definition at line 315 of file explicit_index_space_iterator.cc.
References conforms_to_state(), sheaf::index_space_iterator::id_spaces(), index(), invariant(), is_attached(), and state().
Referenced by sheaf::explicit_index_space_state::attach(), attach_to(), conforms_to_state(), and is_attached().
|
virtual |
Attach to the state with local scope id, xlocal_id in the host id space collection xhost.
Implements sheaf::index_space_iterator.
Definition at line 343 of file explicit_index_space_iterator.cc.
References attach_to(), conforms_to_state(), sheaf::index_space_collection::contains(), detach(), sheaf::index_space_collection::explicit_state(), sheaf::index_space_collection::family_scope(), host(), index(), invariant(), and is_attached().
|
protectedpure virtual |
Attach to the explicit id space state xstate.
Implemented in sheaf::interval_index_space_iterator, fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 411 of file explicit_index_space_iterator.cc.
References conforms_to_state(), invariant(), is_attached(), and state().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this. If the iterator is attached, attach to the same state.
Is Abstract.
Implements sheaf::index_space_iterator.
Implemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 218 of file explicit_index_space_iterator.cc.
References host(), and sheaf::any::is_same_type().
Referenced by operator==().
|
virtual |
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.
Implements sheaf::index_space_iterator.
Definition at line 387 of file explicit_index_space_iterator.cc.
References attach_to(), sheaf::index_space_collection::contains(), and sheaf::index_space_collection::explicit_state().
Referenced by attach_to(), and detach().
|
protectedpure virtual |
True if this conforms to the iterator type required by the explicit id space state xstate.
Is Abstract.
Implemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 435 of file explicit_index_space_iterator.cc.
References state().
|
virtual |
Detach this iterator form its state, if any.
Implements sheaf::index_space_iterator.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_iterator.
Definition at line 368 of file explicit_index_space_iterator.cc.
References _state, conforms_to_state(), and is_attached().
Referenced by attach_to(), sheaf::primitives_index_space_iterator::operator=(), sheaf::singleton_index_space_iterator::operator=(), sheaf::primary_index_space_iterator::operator=(), sheaf::offset_index_space_iterator::operator=(), sheaf::hash_index_space_iterator::operator=(), sheaf::array_index_space_iterator::operator=(), sheaf::reserved_primary_index_space_iterator::operator=(), sheaf::list_index_space_iterator::operator=(), sheaf::hub_index_space_iterator::operator=(), and sheaf::interval_index_space_iterator::operator=().
|
virtual |
The host collection.
Implements sheaf::index_space_iterator.
Definition at line 254 of file explicit_index_space_iterator.cc.
References _state, sheaf::explicit_index_space_state::host(), index(), and is_attached().
Referenced by attach_to(), clone(), and state().
|
virtual |
Index of this space.
Implements sheaf::index_space_iterator.
Definition at line 275 of file explicit_index_space_iterator.cc.
References _state, sheaf::index_space_iterator::id_spaces(), sheaf::explicit_index_space_state::index(), and is_attached().
Referenced by sheaf::array_index_space_iterator::array_index_space_iterator(), attach_to(), sheaf::hash_index_space_iterator::hash_index_space_iterator(), host(), sheaf::hub_index_space_iterator::hub_index_space_iterator(), sheaf::interval_index_space_iterator::interval_index_space_iterator(), sheaf::list_index_space_iterator::list_index_space_iterator(), sheaf::offset_index_space_iterator::offset_index_space_iterator(), sheaf::primary_index_space_iterator::primary_index_space_iterator(), sheaf::primitives_index_space_iterator::primitives_index_space_iterator(), sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator(), and sheaf::singleton_index_space_iterator::singleton_index_space_iterator().
|
virtual |
Class invariant.
Reimplemented from sheaf::index_space_iterator.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 544 of file explicit_index_space_iterator.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::index_space_iterator::invariant(), and sheaf::any::invariant_check().
Referenced by attach_to(), explicit_index_space_iterator(), sheaf::primitives_index_space_iterator::invariant(), sheaf::singleton_index_space_iterator::invariant(), sheaf::array_index_space_iterator::invariant(), sheaf::list_index_space_iterator::invariant(), sheaf::hash_index_space_iterator::invariant(), sheaf::primary_index_space_iterator::invariant(), sheaf::hub_index_space_iterator::invariant(), sheaf::offset_index_space_iterator::invariant(), sheaf::reserved_primary_index_space_iterator::invariant(), sheaf::interval_index_space_iterator::invariant(), fiber_bundle::section_space_schema_jims_index_space_iterator::invariant(), is_ancestor_of(), and operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::index_space_iterator.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 523 of file explicit_index_space_iterator.cc.
References invariant().
Referenced by operator=(), operator==(), and state().
|
virtual |
True if this iterator is attached to a state.
Implements sheaf::index_space_iterator.
Definition at line 296 of file explicit_index_space_iterator.cc.
References _state, and attach_to().
Referenced by sheaf::array_index_space_iterator::array_index_space_iterator(), sheaf::explicit_index_space_state::attach(), attach_to(), sheaf::primitives_index_space_iterator::attach_to(), sheaf::singleton_index_space_iterator::attach_to(), sheaf::hash_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::array_index_space_iterator::attach_to(), sheaf::offset_index_space_iterator::attach_to(), sheaf::hub_index_space_iterator::attach_to(), sheaf::primary_index_space_iterator::attach_to(), sheaf::reserved_primary_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), sheaf::offset_index_space_iterator::ct(), sheaf::primary_index_space_iterator::ct(), detach(), sheaf::primitives_index_space_state::get_iterator(), sheaf::singleton_index_space_state::get_iterator(), sheaf::offset_index_space_state::get_iterator(), sheaf::reserved_primary_index_space_state::get_iterator(), sheaf::primary_index_space_state::get_iterator(), fiber_bundle::section_space_schema_jims_index_space_state::get_iterator(), sheaf::hash_index_space_state::get_iterator(), sheaf::array_index_space_state::get_iterator(), sheaf::list_index_space_state::get_iterator(), sheaf::interval_index_space_state::get_iterator(), sheaf::primary_sum_index_space_state::get_iterator(), sheaf::hash_index_space_iterator::hash_index_space_iterator(), host(), sheaf::singleton_index_space_iterator::hub_begin(), sheaf::hub_index_space_iterator::hub_index_space_iterator(), index(), sheaf::interval_index_space_iterator::interval_index_space_iterator(), sheaf::list_index_space_iterator::list_index_space_iterator(), sheaf::primitives_index_space_iterator::next(), sheaf::singleton_index_space_iterator::next(), sheaf::hash_index_space_iterator::next(), sheaf::list_index_space_iterator::next(), sheaf::array_index_space_iterator::next(), sheaf::offset_index_space_iterator::next(), sheaf::hub_index_space_iterator::next(), sheaf::primary_index_space_iterator::next(), sheaf::reserved_primary_index_space_iterator::next(), sheaf::interval_index_space_iterator::next(), sheaf::offset_index_space_iterator::offset(), sheaf::primary_index_space_iterator::offset(), sheaf::reserved_primary_index_space_iterator::offset(), sheaf::offset_index_space_iterator::offset_index_space_iterator(), operator=(), sheaf::singleton_index_space_iterator::operator=(), sheaf::primitives_index_space_iterator::operator=(), sheaf::offset_index_space_iterator::operator=(), sheaf::primary_index_space_iterator::operator=(), sheaf::hash_index_space_iterator::operator=(), sheaf::list_index_space_iterator::operator=(), sheaf::reserved_primary_index_space_iterator::operator=(), sheaf::array_index_space_iterator::operator=(), sheaf::hub_index_space_iterator::operator=(), sheaf::interval_index_space_iterator::operator=(), fiber_bundle::section_space_schema_jims_index_space_iterator::operator=(), operator==(), sheaf::singleton_index_space_iterator::operator==(), sheaf::hash_index_space_iterator::operator==(), sheaf::array_index_space_iterator::operator==(), sheaf::list_index_space_iterator::operator==(), sheaf::hub_index_space_iterator::operator==(), sheaf::offset_index_space_iterator::operator==(), sheaf::primary_index_space_iterator::operator==(), sheaf::reserved_primary_index_space_iterator::operator==(), sheaf::interval_index_space_iterator::operator==(), sheaf::primary_index_space_iterator::primary_index_space_iterator(), sheaf::primitives_index_space_iterator::primitives_index_space_iterator(), sheaf::reserved_primary_index_space_iterator::put_is_active_only(), sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator(), sheaf::primitives_index_space_iterator::reset(), sheaf::singleton_index_space_iterator::reset(), sheaf::hash_index_space_iterator::reset(), sheaf::array_index_space_iterator::reset(), sheaf::list_index_space_iterator::reset(), sheaf::hub_index_space_iterator::reset(), sheaf::offset_index_space_iterator::reset(), sheaf::primary_index_space_iterator::reset(), sheaf::reserved_primary_index_space_iterator::reset(), sheaf::interval_index_space_iterator::reset(), sheaf::singleton_index_space_iterator::singleton_index_space_iterator(), and state().
|
protected |
Assignment operator.
Definition at line 89 of file explicit_index_space_iterator.cc.
References _state, invariant(), is_attached(), and state().
Referenced by explicit_index_space_iterator(), and state().
|
virtual |
Assignment operator.
Reimplemented from sheaf::index_space_iterator.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.
Definition at line 165 of file explicit_index_space_iterator.cc.
References invariant(), is_ancestor_of(), and operator==().
|
virtual |
True if this is equivalent to xother.
Reimplemented from sheaf::index_space_iterator.
Reimplemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, sheaf::reserved_primary_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_index_space_iterator, and sheaf::singleton_index_space_iterator.
Definition at line 190 of file explicit_index_space_iterator.cc.
References _state, clone(), is_ancestor_of(), is_attached(), and sheaf::index_space_iterator::operator==().
Referenced by operator=(), sheaf::singleton_index_space_iterator::operator==(), sheaf::array_index_space_iterator::operator==(), sheaf::hash_index_space_iterator::operator==(), sheaf::list_index_space_iterator::operator==(), sheaf::hub_index_space_iterator::operator==(), sheaf::primary_index_space_iterator::operator==(), sheaf::offset_index_space_iterator::operator==(), sheaf::reserved_primary_index_space_iterator::operator==(), sheaf::interval_index_space_iterator::operator==(), and fiber_bundle::section_space_schema_jims_index_space_iterator::operator==().
|
protected |
The explicit state (mutable version).
Definition at line 114 of file explicit_index_space_iterator.cc.
References _state, and is_attached().
Referenced by attach_to(), sheaf::primitives_index_space_iterator::attach_to(), sheaf::singleton_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::array_index_space_iterator::attach_to(), sheaf::hash_index_space_iterator::attach_to(), sheaf::offset_index_space_iterator::attach_to(), sheaf::primary_index_space_iterator::attach_to(), sheaf::hub_index_space_iterator::attach_to(), sheaf::reserved_primary_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), conforms_to_state(), operator=(), and state().
|
protected |
The explicit state (const version).
Definition at line 135 of file explicit_index_space_iterator.cc.
References _state, is_attached(), and operator=().
|
protected |
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.
Definition at line 456 of file explicit_index_space_iterator.cc.
References sheaf::index_space_family::collection(), sheaf::index_space_collection::contains(), sheaf::index_space_collection::explicit_state(), host(), sheaf::index_space_iterator::id_spaces(), is_attached(), sheaf::index_space_collection::local_scope(), and state().
|
protected |
The explicit id space state with local scope id xlocal_id in the host id space collection xhost.
Definition at line 482 of file explicit_index_space_iterator.cc.
References sheaf::index_space_collection::contains(), sheaf::index_space_collection::explicit_state(), and is_ancestor_of().
|
protected |
The explicit state.
Definition at line 88 of file explicit_index_space_iterator.h.
Referenced by sheaf::primitives_index_space_iterator::attach_to(), sheaf::singleton_index_space_iterator::attach_to(), sheaf::hash_index_space_iterator::attach_to(), sheaf::array_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::hub_index_space_iterator::attach_to(), sheaf::offset_index_space_iterator::attach_to(), sheaf::primary_index_space_iterator::attach_to(), sheaf::reserved_primary_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), detach(), host(), index(), is_attached(), operator=(), operator==(), sheaf::reserved_primary_index_space_iterator::put_is_active_only(), and state().