SheafSystem  0.0.0.0
fiber_bundle::ijk_adjacency_implicit_index_space_iterator Class Reference

An implementation of implicit_index_space_iterator for an implicit id space in an ijk_adjacency_index_space_interval. More...

#include <ijk_adjacency_implicit_index_space_iterator.h>

Inheritance diagram for fiber_bundle::ijk_adjacency_implicit_index_space_iterator:
sheaf::implicit_index_space_iterator sheaf::index_space_iterator sheaf::any

Friends

class ijk_adjacency_implicit_index_space_interval
 

IJK_ADJACENCY_IMPLICIT_INDEX_SPACE_ITERATOR FACET

pod_type _hub_begin
 The hub id of the first zone in the adjacency list. More...
 
size_type _j_size
 The number of zones in the j direction. More...
 
size_type _k_size
 The number of zones in the j direction. More...
 
size_type _i_ct
 The number of adjacent zones in the i direction. More...
 
size_type _j_ct
 The number of adjacent zones in the j direction. More...
 
size_type _k_ct
 The number of adjacent zones in the k direction. More...
 
pod_type _i
 The current index in the i direction. More...
 
pod_type _j
 The current index in the j direction. More...
 
pod_type _k
 The current index in the k direction. More...
 
 ijk_adjacency_implicit_index_space_iterator ()
 Default constructor. More...
 
 ijk_adjacency_implicit_index_space_iterator (const ijk_adjacency_implicit_index_space_iterator &xother)
 Copy constructor. More...
 
 ijk_adjacency_implicit_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...
 
 ijk_adjacency_implicit_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...
 
ijk_adjacency_implicit_index_space_iteratoroperator= (const ijk_adjacency_implicit_index_space_iterator &xother)
 Assignment operator. More...
 
virtual ~ijk_adjacency_implicit_index_space_iterator ()
 Destructor. More...
 
pod_type hub_begin () const
 The hub id of the first zone in the adjacency list. More...
 
size_type j_size () const
 The number of zones in the j direction. More...
 
size_type k_size () const
 The number of zones in the k direction. More...
 
size_type i_ct () const
 The number of adjacent zones in the i direction. More...
 
size_type j_ct () const
 The number of adjacent zones in the j direction. More...
 
size_type k_ct () const
 The number of adjacent zones in the k direction. More...
 

INDEX_SPACE_ITERATOR FACET

virtual ijk_adjacency_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 ijk_adjacency_implicit_index_space_iteratorclone () 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 (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 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...
 

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::implicit_index_space_iterator
virtual ~implicit_index_space_iterator ()
 Destructor. More...
 
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...
 
- 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_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...
 
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::implicit_index_space_iterator
 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...
 
- 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::implicit_index_space_iterator
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...
 
- 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 implicit_index_space_iterator for an implicit id space in an ijk_adjacency_index_space_interval.

Definition at line 45 of file ijk_adjacency_implicit_index_space_iterator.h.

Constructor & Destructor Documentation

◆ ijk_adjacency_implicit_index_space_iterator() [1/4]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::ijk_adjacency_implicit_index_space_iterator ( )

Default constructor.

Postcondition
  • !is_attached()

Definition at line 36 of file ijk_adjacency_implicit_index_space_iterator.cc.

Referenced by ijk_adjacency_implicit_index_space_iterator().

◆ ijk_adjacency_implicit_index_space_iterator() [2/4]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::ijk_adjacency_implicit_index_space_iterator ( const ijk_adjacency_implicit_index_space_iterator xother)

Copy constructor.

Postcondition
  • (*this) == xother

Definition at line 53 of file ijk_adjacency_implicit_index_space_iterator.cc.

References ijk_adjacency_implicit_index_space_iterator().

◆ ijk_adjacency_implicit_index_space_iterator() [3/4]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::ijk_adjacency_implicit_index_space_iterator ( const index_space_family xid_spaces,
pod_type  xindex 
)

Constructor: Attach to state with index xindex in the family xid_spaces.

Precondition
  • conforms_to_state(xid_spaces, xindex)
Postcondition

Definition at line 72 of file ijk_adjacency_implicit_index_space_iterator.cc.

References ijk_adjacency_implicit_index_space_iterator().

◆ ijk_adjacency_implicit_index_space_iterator() [4/4]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::ijk_adjacency_implicit_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.

Precondition
  • conforms_to_state(xid_spaces, xname)
Postcondition

Definition at line 96 of file ijk_adjacency_implicit_index_space_iterator.cc.

References operator=().

◆ ~ijk_adjacency_implicit_index_space_iterator()

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::~ijk_adjacency_implicit_index_space_iterator ( )
virtual

Destructor.

Definition at line 157 of file ijk_adjacency_implicit_index_space_iterator.cc.

References hub_begin().

Referenced by operator=().

Member Function Documentation

◆ attach_to()

void fiber_bundle::ijk_adjacency_implicit_index_space_iterator::attach_to ( const index_space_collection xhost,
pod_type  xlocal_id 
)
virtual

Attach to the state with local scope id, xlocal_id in the host id space collection xhost.

Precondition
  • xhost.contains(xlocal_id)
  • conforms_to_state(xhost, xlocal_id)
Postcondition
  • index() == xhost.family_scope(xlocal_id)

Implements sheaf::index_space_iterator.

Definition at line 505 of file ijk_adjacency_implicit_index_space_iterator.cc.

References fiber_bundle::ijk_adjacency_index_space_interval::adjacent_zones(), conforms_to_state(), sheaf::index_space_collection::contains(), sheaf::index_space_collection::family_scope(), fiber_bundle::ijk_adjacency_index_space_interval::j_size(), and fiber_bundle::ijk_adjacency_index_space_interval::k_size().

Referenced by reset().

◆ clone()

fiber_bundle::ijk_adjacency_implicit_index_space_iterator * fiber_bundle::ijk_adjacency_implicit_index_space_iterator::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this. If the iterator is attached, attach to the same state.

Postcondition
  • result != 0
  • is_same_type(result)
  • *result == *this

Implements sheaf::implicit_index_space_iterator.

Definition at line 359 of file ijk_adjacency_implicit_index_space_iterator.cc.

References next().

Referenced by operator==().

◆ conforms_to_state()

bool fiber_bundle::ijk_adjacency_implicit_index_space_iterator::conforms_to_state ( const index_space_collection xhost,
pod_type  xlocal_id 
) const
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.

Postcondition
  • is_basic_query

Implements sheaf::index_space_iterator.

Definition at line 546 of file ijk_adjacency_implicit_index_space_iterator.cc.

References is_ancestor_of().

Referenced by attach_to().

◆ hub_begin()

fiber_bundle::ijk_adjacency_implicit_index_space_iterator::pod_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::hub_begin ( ) const

The hub id of the first zone in the adjacency list.

Postcondition
  • is_basic_query

Definition at line 174 of file ijk_adjacency_implicit_index_space_iterator.cc.

References j_size().

Referenced by ~ijk_adjacency_implicit_index_space_iterator().

◆ i_ct()

sheaf::size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::i_ct ( ) const

The number of adjacent zones in the i direction.

Postcondition
  • is_basic_query

Definition at line 225 of file ijk_adjacency_implicit_index_space_iterator.cc.

References j_ct().

Referenced by k_size().

◆ invariant()

bool fiber_bundle::ijk_adjacency_implicit_index_space_iterator::invariant ( ) const
virtual

◆ is_ancestor_of()

bool fiber_bundle::ijk_adjacency_implicit_index_space_iterator::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from sheaf::implicit_index_space_iterator.

Definition at line 577 of file ijk_adjacency_implicit_index_space_iterator.cc.

References invariant().

Referenced by conforms_to_state().

◆ j_ct()

sheaf::size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::j_ct ( ) const

The number of adjacent zones in the j direction.

Postcondition
  • is_basic_query

Definition at line 242 of file ijk_adjacency_implicit_index_space_iterator.cc.

References k_ct().

Referenced by i_ct().

◆ j_size()

sheaf::size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::j_size ( ) const

The number of zones in the j direction.

Postcondition
  • is_basic_query

Definition at line 191 of file ijk_adjacency_implicit_index_space_iterator.cc.

References k_size().

Referenced by hub_begin().

◆ k_ct()

sheaf::size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::k_ct ( ) const

The number of adjacent zones in the k direction.

Postcondition
  • is_basic_query

Definition at line 259 of file ijk_adjacency_implicit_index_space_iterator.cc.

References operator=().

Referenced by j_ct().

◆ k_size()

sheaf::size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::k_size ( ) const

The number of zones in the k direction.

Postcondition
  • is_basic_query

Definition at line 208 of file ijk_adjacency_implicit_index_space_iterator.cc.

References i_ct().

Referenced by j_size().

◆ next()

void fiber_bundle::ijk_adjacency_implicit_index_space_iterator::next ( )
virtual

Makes item() the next id in the iteration.

Precondition
  • !is_done()
Postcondition

Implements sheaf::index_space_iterator.

Definition at line 393 of file ijk_adjacency_implicit_index_space_iterator.cc.

References reset().

Referenced by clone().

◆ operator=() [1/2]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator & fiber_bundle::ijk_adjacency_implicit_index_space_iterator::operator= ( const ijk_adjacency_implicit_index_space_iterator xother)

◆ operator=() [2/2]

fiber_bundle::ijk_adjacency_implicit_index_space_iterator & fiber_bundle::ijk_adjacency_implicit_index_space_iterator::operator= ( const index_space_iterator xother)
virtual

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Postcondition
  • (*this) == xother

Reimplemented from sheaf::implicit_index_space_iterator.

Definition at line 298 of file ijk_adjacency_implicit_index_space_iterator.cc.

References operator==().

◆ operator==()

bool fiber_bundle::ijk_adjacency_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

Reimplemented from sheaf::implicit_index_space_iterator.

Definition at line 323 of file ijk_adjacency_implicit_index_space_iterator.cc.

References _hub_begin, _i, _i_ct, _j, _j_ct, _j_size, _k, _k_ct, _k_size, clone(), and sheaf::implicit_index_space_iterator::operator==().

Referenced by operator=().

◆ reset()

void fiber_bundle::ijk_adjacency_implicit_index_space_iterator::reset ( )
virtual

Restarts the iteration.

Precondition
Postcondition

Implements sheaf::index_space_iterator.

Definition at line 464 of file ijk_adjacency_implicit_index_space_iterator.cc.

References attach_to().

Referenced by next().

Member Data Documentation

◆ _hub_begin

pod_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_hub_begin
protected

The hub id of the first zone in the adjacency list.

Definition at line 124 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _i

pod_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_i
protected

The current index in the i direction.

Definition at line 154 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _i_ct

size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_i_ct
protected

The number of adjacent zones in the i direction.

Definition at line 139 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _j

pod_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_j
protected

The current index in the j direction.

Definition at line 159 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _j_ct

size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_j_ct
protected

The number of adjacent zones in the j direction.

Definition at line 144 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _j_size

size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_j_size
protected

The number of zones in the j direction.

Definition at line 129 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _k

pod_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_k
protected

The current index in the k direction.

Definition at line 164 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _k_ct

size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_k_ct
protected

The number of adjacent zones in the k direction.

Definition at line 149 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().

◆ _k_size

size_type fiber_bundle::ijk_adjacency_implicit_index_space_iterator::_k_size
protected

The number of zones in the j direction.

Definition at line 134 of file ijk_adjacency_implicit_index_space_iterator.h.

Referenced by operator=(), and operator==().


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