SheafSystem  0.0.0.0
sheaf::implicit_index_space_iterator Class Referenceabstract

An implementation of class index_space_iterator for id spaces that are implicitly represtented. More...

#include <implicit_index_space_iterator.h>

Inheritance diagram for sheaf::implicit_index_space_iterator:
sheaf::index_space_iterator sheaf::any fiber_bundle::i_adjacency_implicit_index_space_iterator fiber_bundle::i_connectivity_implicit_index_space_iterator fiber_bundle::ij_adjacency_implicit_index_space_iterator fiber_bundle::ij_connectivity_implicit_index_space_iterator fiber_bundle::ijk_adjacency_implicit_index_space_iterator fiber_bundle::ijk_connectivity_implicit_index_space_iterator sheaf::array_implicit_index_space_iterator sheaf::constant_implicit_index_space_iterator sheaf::ragged_array_implicit_index_space_iterator sheaf::singleton_implicit_index_space_iterator

IMPLICIT_INDEX_SPACE_ITERATOR FACET

const index_space_collection_host
 The host collection. More...
 
pod_type _local_id
 The id of this space in the local host id space. More...
 
virtual ~implicit_index_space_iterator ()
 Destructor. More...
 
 implicit_index_space_iterator ()
 Default constructor. More...
 
 implicit_index_space_iterator (const implicit_index_space_iterator &xother)
 Copy constructor. More...
 
implicit_index_space_iteratoroperator= (const implicit_index_space_iterator &xother)
 Assignment operator. More...
 

INDEX_SPACE_ITERATOR FACET

virtual implicit_index_space_iteratoroperator= (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 implicit_index_space_iteratorclone () 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_collectionhost () 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 detach ()
 Detach this iterator form its state, if any. 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_familyid_spaces () const
 The id space family for this (const version). More...
 
const hub_index_space_handlehub_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...
 
virtual void attach_to (const index_space_collection &xhost, pod_type xlocal_id)=0
 Attach to the state with local scope id, xlocal_id in the host id space collection xhost. 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...
 
virtual bool conforms_to_state (const index_space_collection &xhost, pod_type xlocal_id) const =0
 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::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...
 

Detailed Description

An implementation of class index_space_iterator for id spaces that are implicitly represtented.

Definition at line 41 of file implicit_index_space_iterator.h.

Constructor & Destructor Documentation

◆ ~implicit_index_space_iterator()

sheaf::implicit_index_space_iterator::~implicit_index_space_iterator ( )
virtual

Destructor.

Definition at line 33 of file implicit_index_space_iterator.cc.

References implicit_index_space_iterator().

◆ implicit_index_space_iterator() [1/2]

sheaf::implicit_index_space_iterator::implicit_index_space_iterator ( )
protected

Default constructor.

Postcondition

Definition at line 51 of file implicit_index_space_iterator.cc.

References invariant().

Referenced by ~implicit_index_space_iterator().

◆ implicit_index_space_iterator() [2/2]

sheaf::implicit_index_space_iterator::implicit_index_space_iterator ( const implicit_index_space_iterator xother)
protected

Copy constructor.

Postcondition

Definition at line 69 of file implicit_index_space_iterator.cc.

References host(), index(), and operator=().

Member Function Documentation

◆ attach_to()

void sheaf::implicit_index_space_iterator::attach_to ( pod_type  xindex)
virtual

◆ clone()

◆ detach()

◆ host()

◆ index()

◆ invariant()

bool sheaf::implicit_index_space_iterator::invariant ( ) const
virtual

Class invariant.

Invariant

Reimplemented from sheaf::index_space_iterator.

Reimplemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::ij_adjacency_implicit_index_space_iterator, fiber_bundle::ijk_connectivity_implicit_index_space_iterator, fiber_bundle::i_adjacency_implicit_index_space_iterator, fiber_bundle::ij_connectivity_implicit_index_space_iterator, fiber_bundle::i_connectivity_implicit_index_space_iterator, sheaf::ragged_array_implicit_index_space_iterator, sheaf::array_implicit_index_space_iterator, sheaf::constant_implicit_index_space_iterator, and sheaf::singleton_implicit_index_space_iterator.

Definition at line 368 of file implicit_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(), implicit_index_space_iterator(), sheaf::constant_implicit_index_space_iterator::invariant(), sheaf::singleton_implicit_index_space_iterator::invariant(), sheaf::array_implicit_index_space_iterator::invariant(), fiber_bundle::i_connectivity_implicit_index_space_iterator::invariant(), sheaf::ragged_array_implicit_index_space_iterator::invariant(), fiber_bundle::ij_connectivity_implicit_index_space_iterator::invariant(), fiber_bundle::i_adjacency_implicit_index_space_iterator::invariant(), fiber_bundle::ijk_connectivity_implicit_index_space_iterator::invariant(), fiber_bundle::ij_adjacency_implicit_index_space_iterator::invariant(), fiber_bundle::ijk_adjacency_implicit_index_space_iterator::invariant(), is_ancestor_of(), and operator=().

◆ is_ancestor_of()

◆ is_attached()

bool sheaf::implicit_index_space_iterator::is_attached ( ) const
virtual

True if this iterator is attached to a state.

Postcondition
  • is_basic_query

Implements sheaf::index_space_iterator.

Definition at line 256 of file implicit_index_space_iterator.cc.

References _local_id, attach_to(), and sheaf::is_valid().

Referenced by sheaf::array_implicit_index_space_iterator::array_implicit_index_space_iterator(), attach_to(), sheaf::singleton_implicit_index_space_iterator::attach_to(), sheaf::constant_implicit_index_space_iterator::attach_to(), sheaf::array_implicit_index_space_iterator::attach_to(), sheaf::ragged_array_implicit_index_space_iterator::attach_to(), sheaf::constant_implicit_index_space_iterator::constant_implicit_index_space_iterator(), detach(), host(), index(), sheaf::singleton_implicit_index_space_iterator::next(), sheaf::constant_implicit_index_space_iterator::next(), sheaf::array_implicit_index_space_iterator::next(), sheaf::ragged_array_implicit_index_space_iterator::next(), operator=(), sheaf::singleton_implicit_index_space_iterator::operator=(), sheaf::constant_implicit_index_space_iterator::operator=(), sheaf::array_implicit_index_space_iterator::operator=(), fiber_bundle::ijk_connectivity_implicit_index_space_iterator::operator=(), sheaf::ragged_array_implicit_index_space_iterator::operator=(), fiber_bundle::ijk_adjacency_implicit_index_space_iterator::operator=(), fiber_bundle::i_adjacency_implicit_index_space_iterator::operator=(), fiber_bundle::ij_adjacency_implicit_index_space_iterator::operator=(), fiber_bundle::ij_connectivity_implicit_index_space_iterator::operator=(), fiber_bundle::i_connectivity_implicit_index_space_iterator::operator=(), operator==(), sheaf::singleton_implicit_index_space_iterator::operator==(), sheaf::constant_implicit_index_space_iterator::operator==(), sheaf::array_implicit_index_space_iterator::operator==(), sheaf::ragged_array_implicit_index_space_iterator::operator==(), sheaf::ragged_array_implicit_index_space_iterator::ragged_array_implicit_index_space_iterator(), sheaf::constant_implicit_index_space_iterator::reset(), sheaf::singleton_implicit_index_space_iterator::reset(), sheaf::array_implicit_index_space_iterator::reset(), sheaf::ragged_array_implicit_index_space_iterator::reset(), and sheaf::singleton_implicit_index_space_iterator::singleton_implicit_index_space_iterator().

◆ operator=() [1/2]

sheaf::implicit_index_space_iterator & sheaf::implicit_index_space_iterator::operator= ( const implicit_index_space_iterator xother)
protected

Assignment operator.

Postcondition
  • (*this) == xother

Definition at line 89 of file implicit_index_space_iterator.cc.

References _host, _local_id, invariant(), and is_attached().

Referenced by implicit_index_space_iterator().

◆ operator=() [2/2]

◆ operator==()

bool sheaf::implicit_index_space_iterator::operator== ( const index_space_iterator xother) const
virtual

True if this is equivalent to xother.

Precondition
  • is_ancestor_of(&xother)
Postcondition
  • is_basic_query

Reimplemented from sheaf::index_space_iterator.

Reimplemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::ij_adjacency_implicit_index_space_iterator, fiber_bundle::ijk_connectivity_implicit_index_space_iterator, fiber_bundle::i_adjacency_implicit_index_space_iterator, fiber_bundle::ij_connectivity_implicit_index_space_iterator, fiber_bundle::i_connectivity_implicit_index_space_iterator, sheaf::ragged_array_implicit_index_space_iterator, sheaf::array_implicit_index_space_iterator, sheaf::constant_implicit_index_space_iterator, and sheaf::singleton_implicit_index_space_iterator.

Definition at line 149 of file implicit_index_space_iterator.cc.

References _host, _local_id, clone(), is_ancestor_of(), is_attached(), and sheaf::index_space_iterator::operator==().

Referenced by operator=(), sheaf::constant_implicit_index_space_iterator::operator==(), sheaf::singleton_implicit_index_space_iterator::operator==(), sheaf::array_implicit_index_space_iterator::operator==(), fiber_bundle::i_connectivity_implicit_index_space_iterator::operator==(), sheaf::ragged_array_implicit_index_space_iterator::operator==(), fiber_bundle::ij_connectivity_implicit_index_space_iterator::operator==(), fiber_bundle::i_adjacency_implicit_index_space_iterator::operator==(), fiber_bundle::ijk_connectivity_implicit_index_space_iterator::operator==(), fiber_bundle::ij_adjacency_implicit_index_space_iterator::operator==(), and fiber_bundle::ijk_adjacency_implicit_index_space_iterator::operator==().

Member Data Documentation

◆ _host

◆ _local_id


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