SheafSystem  0.0.0.0
sheaf::index_space_iterator Class Referenceabstract

An abstract iterator over the ids of an id space. More...

#include <index_space_iterator.h>

Inheritance diagram for sheaf::index_space_iterator:
sheaf::any sheaf::explicit_index_space_iterator sheaf::implicit_index_space_iterator fiber_bundle::section_space_schema_jims_index_space_iterator sheaf::array_index_space_iterator sheaf::hash_index_space_iterator sheaf::hub_index_space_iterator sheaf::interval_index_space_iterator sheaf::list_index_space_iterator sheaf::offset_index_space_iterator sheaf::primary_index_space_iterator sheaf::primitives_index_space_iterator sheaf::reserved_primary_index_space_iterator sheaf::singleton_index_space_iterator 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

Friends

class explicit_index_space_state
 
class index_space_collection
 
class index_space_handle
 

INDEX_SPACE_ITERATOR FACET

typedef pod_index_type pod_type
 The "plain old data" index type for this. More...
 
virtual ~index_space_iterator ()
 Destructor. More...
 
virtual 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 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...
 
 index_space_iterator ()
 Creates an iterator for the id space. More...
 
 index_space_iterator (const index_space_iterator &xother)
 Copy constructor. More...
 

ITERATOR FACET

bool _is_done
 True if the iteration is finished. 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 FACET

pod_type _pod
 The current id in the iteration. More...
 
pod_type _hub_pod
 The current hub id in the iteration. 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...
 
void invalidate_ids ()
 Set is_done() and invalidate pod() and hub_pod(). More...
 

INDEX SPACE FACET

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...
 

HANDLE FACET

virtual const index_space_collectionhost () const =0
 The host collection. More...
 
virtual pod_type index () const =0
 Index of this space. More...
 
std::string name () const
 Name of this space. More...
 
virtual bool is_attached () const =0
 True if this iterator is attached to a state. 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...
 
virtual void attach_to (pod_type xindex)=0
 Attach to the state with index xindex in the id space family id_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...
 
virtual void detach ()=0
 Detach this handle form its state, if any. 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...
 

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 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

An abstract iterator over the ids of an id space.

Definition at line 47 of file index_space_iterator.h.

Member Typedef Documentation

◆ pod_type

The "plain old data" index type for this.

Definition at line 64 of file index_space_iterator.h.

Constructor & Destructor Documentation

◆ ~index_space_iterator()

sheaf::index_space_iterator::~index_space_iterator ( )
virtual

Destructor.

Definition at line 34 of file index_space_iterator.cc.

References operator=().

◆ index_space_iterator() [1/2]

sheaf::index_space_iterator::index_space_iterator ( )
protected

Creates an iterator for the id space.

Postcondition

Definition at line 127 of file index_space_iterator.cc.

References invalidate_ids(), and is_done().

Referenced by clone().

◆ index_space_iterator() [2/2]

sheaf::index_space_iterator::index_space_iterator ( const index_space_iterator xother)
protected

Copy constructor.

Definition at line 147 of file index_space_iterator.cc.

References _hub_pod, _is_done, _pod, and next().

Member Function Documentation

◆ attach_to() [1/6]

◆ attach_to() [2/6]

void sheaf::index_space_iterator::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.

Precondition
  • !xname.empty()
  • xid_spaces.contains(xname)
  • conforms_to_state(xid_spaces, xname)
Postcondition

Definition at line 553 of file index_space_iterator.cc.

References attach_to(), conforms_to_state(), sheaf::index_space_family::contains(), id_spaces(), sheaf::index_space_family::index(), invariant(), is_attached(), and name().

◆ attach_to() [3/6]

void sheaf::index_space_iterator::attach_to ( pod_type  xindex)
pure virtual

Attach to the state with index xindex in the id space family id_spaces().

Precondition
  • conforms_to_state(xindex)
Is Abstract.
Postcondition

Implemented in sheaf::explicit_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 579 of file index_space_iterator.cc.

References attach_to(), conforms_to_state(), id_spaces(), index(), invariant(), and is_attached().

◆ attach_to() [4/6]

void sheaf::index_space_iterator::attach_to ( const std::string &  xname)

Attach to the state with name xname in the id space family id_spaces().

Precondition
  • conforms_to_state(xname)
Postcondition

Definition at line 607 of file index_space_iterator.cc.

References attach_to(), conforms_to_state(), id_spaces(), index(), invariant(), is_attached(), and name().

◆ attach_to() [5/6]

void sheaf::index_space_iterator::attach_to ( const index_space_handle xid_space)

Attach to the state of the id space xid_space.

Precondition
  • xid_space.is_attached()
  • conforms_to_state(xid_space.id_spaces(), xid_space.index())
Postcondition
  • &host() == &xid_space.host()

Definition at line 635 of file index_space_iterator.cc.

References attach_to(), conforms_to_state(), host(), sheaf::index_space_handle::host(), sheaf::index_space_handle::id_spaces(), index(), sheaf::index_space_handle::index(), invariant(), is_attached(), and sheaf::index_space_handle::is_attached().

◆ attach_to() [6/6]

void sheaf::index_space_iterator::attach_to ( const index_space_collection xhost,
pod_type  xlocal_id 
)
pure virtual

◆ clone()

sheaf::index_space_iterator * sheaf::index_space_iterator::clone ( ) const
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.

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

Reimplemented from sheaf::any.

Implemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, fiber_bundle::ij_adjacency_implicit_index_space_iterator, sheaf::reserved_primary_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, 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, 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, sheaf::singleton_implicit_index_space_iterator, sheaf::singleton_index_space_iterator, sheaf::primitives_index_space_iterator, sheaf::explicit_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 101 of file index_space_iterator.cc.

References index_space_iterator(), and sheaf::any::is_same_type().

Referenced by fiber_bundle::section_space_schema_jims_index_space_iterator::attach_to(), and operator==().

◆ conforms_to_state() [1/5]

bool sheaf::index_space_iterator::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.

Precondition
  • xid_spaces.contains(xindex)
Postcondition
  • is_basic_query

Definition at line 710 of file index_space_iterator.cc.

References sheaf::index_space_family::collection(), and sheaf::index_space_family::contains().

Referenced by sheaf::implicit_index_space_iterator::attach_to(), attach_to(), conforms_to_state(), and detach().

◆ conforms_to_state() [2/5]

bool sheaf::index_space_iterator::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.

Precondition
  • xid_spaces.contains(xname)
Postcondition
  • is_basic_query

Definition at line 733 of file index_space_iterator.cc.

References conforms_to_state(), sheaf::index_space_family::contains(), and sheaf::index_space_family::index().

◆ conforms_to_state() [3/5]

bool sheaf::index_space_iterator::conforms_to_state ( pod_type  xid) const

True if this conforms to the handle type required by the state with id xid.

Precondition
Postcondition
  • is_basic_query

Definition at line 755 of file index_space_iterator.cc.

References conforms_to_state(), and id_spaces().

◆ conforms_to_state() [4/5]

bool sheaf::index_space_iterator::conforms_to_state ( const std::string &  xname) const

True if this conforms to the handle type required by the state with name xname.

Precondition
Postcondition
  • is_basic_query

Definition at line 776 of file index_space_iterator.cc.

References conforms_to_state(), and id_spaces().

◆ conforms_to_state() [5/5]

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

Precondition
  • xhost.contains(xlocal_id)
Is Abstract.
Postcondition
  • is_basic_query

Implemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::ijk_connectivity_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, and sheaf::explicit_index_space_iterator.

Definition at line 797 of file index_space_iterator.cc.

References sheaf::index_space_collection::contains(), and is_ancestor_of().

◆ detach()

void sheaf::index_space_iterator::detach ( )
pure virtual

Detach this handle form its state, if any.

Is Abstract.

Postcondition
  • !is_attached()

Implemented in fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::explicit_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 691 of file index_space_iterator.cc.

References conforms_to_state(), and is_attached().

Referenced by attach_to(), sheaf::constant_index_space_interval::release_id_space_iterator(), sheaf::singleton_index_space_interval::release_id_space_iterator(), fiber_bundle::i_connectivity_index_space_interval::release_id_space_iterator(), sheaf::ragged_array_index_space_interval::release_id_space_iterator(), fiber_bundle::i_adjacency_index_space_interval::release_id_space_iterator(), fiber_bundle::ij_connectivity_index_space_interval::release_id_space_iterator(), sheaf::array_index_space_interval::release_id_space_iterator(), fiber_bundle::ij_adjacency_index_space_interval::release_id_space_iterator(), fiber_bundle::ijk_connectivity_index_space_interval::release_id_space_iterator(), fiber_bundle::ijk_adjacency_index_space_interval::release_id_space_iterator(), sheaf::primitives_index_space_state::release_iterator(), sheaf::singleton_index_space_state::release_iterator(), sheaf::offset_index_space_state::release_iterator(), sheaf::reserved_primary_index_space_state::release_iterator(), sheaf::primary_index_space_state::release_iterator(), fiber_bundle::section_space_schema_jims_index_space_state::release_iterator(), sheaf::hash_index_space_state::release_iterator(), sheaf::array_index_space_state::release_iterator(), sheaf::list_index_space_state::release_iterator(), sheaf::interval_index_space_state::release_iterator(), and sheaf::primary_sum_index_space_state::release_iterator().

◆ force_is_done()

void sheaf::index_space_iterator::force_is_done ( )

Makes is_done() true.

Postcondition

Definition at line 240 of file index_space_iterator.cc.

References invalidate_ids(), is_done(), and pod().

Referenced by sheaf::depth_first_iterator::next(), and reset().

◆ glued_hub_pod()

sheaf::index_space_iterator::pod_type sheaf::index_space_iterator::glued_hub_pod ( ) const

The current glued hub id in the iteration.

Precondition
  • !is_done()
Postcondition

Definition at line 330 of file index_space_iterator.cc.

References _hub_pod, hub_id_space(), invalidate_ids(), is_attached(), is_done(), and sheaf::explicit_index_space_handle::unglued_hub_pod().

Referenced by unglued_hub_pod().

◆ host()

const sheaf::index_space_collection & sheaf::index_space_iterator::host ( ) const
pure virtual

The host collection.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 437 of file index_space_iterator.cc.

References index(), and is_attached().

Referenced by attach_to(), hub_id_space(), and id_spaces().

◆ hub_id_space()

const sheaf::hub_index_space_handle & sheaf::index_space_iterator::hub_id_space ( ) const

The hub id space.

Precondition
Postcondition
  • is_basic_query

Definition at line 405 of file index_space_iterator.cc.

References host(), sheaf::index_space_family::hub_id_space(), id_spaces(), and is_attached().

Referenced by glued_hub_pod(), and id_spaces().

◆ hub_pod()

sheaf::index_space_iterator::pod_type sheaf::index_space_iterator::hub_pod ( ) const

The current unglued hub id in the iteration. synonym for unglued_hub_pod().

Precondition
  • !is_done()
Postcondition
  • is_basic_query

Definition at line 290 of file index_space_iterator.cc.

References _hub_pod, is_attached(), is_done(), and unglued_hub_pod().

Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), sheaf::array_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::hash_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), fields::body_builder::build_pa(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), sheaf::poset_crg_state::copy_cover(), sheaf::poset_crg_state::cover_is_equal(), fields::edge_centered_polygon_refiner::create_edge_center(), fiber_bundle::base_space_poset::db(), sheaf::abstract_poset_member::delete_down(), sheaf::abstract_poset_member::delete_state(), sheaf::poset_crg_state::explicit_down_set_members(), sheaf::member_record::externalize(), sheaf::crg_interval::force_explicit_cover(), fiber_bundle::point_block_crg_interval::get_implicit_private_data(), sheaf::implicit_crg_interval::get_private_data(), sheaf::index_equivalence_class::index_equivalence_class(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::section_space_schema_poset::initialize_table_dof_subposet(), sheaf::poset_crg_state::insert_cover_member(), fiber_bundle::base_space_poset::insert_interval_in_standard_subposets(), sheaf::hub_index_space_iterator::invariant(), invariant(), sheaf::poset_state_handle::le(), sheaf::depth_first_iterator::lesser_index(), fields::edge_centered_polygon_refiner::make_new_vertices(), sheaf::hash_index_space_state::map_rep_push(), sheaf::gathered_insertion_index_space_state::map_rep_push(), sheaf::array_index_space_state::map_rep_push(), sheaf::list_index_space_state::map_rep_push(), sheaf::interval_index_space_state::map_rep_push(), sheaf::hash_index_space_state::map_rep_remove_entry(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::array_index_space_state::map_rep_remove_entry(), sheaf::list_index_space_state::map_rep_remove_entry(), sheaf::interval_index_space_state::map_rep_remove_entry(), fiber_bundle::sec_vd::new_comp(), next(), sheaf::primitives_index_space_iterator::next(), sheaf::singleton_index_space_iterator::next(), sheaf::constant_implicit_index_space_iterator::next(), sheaf::singleton_implicit_index_space_iterator::next(), sheaf::array_implicit_index_space_iterator::next(), sheaf::ragged_array_implicit_index_space_iterator::next(), sheaf::array_index_space_iterator::next(), sheaf::list_index_space_iterator::next(), sheaf::hash_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::depth_first_iterator::next(), sheaf::operator<<(), pod(), sheaf::poset_orderer::postvisit_action(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_handle::push(), fiber_bundle::unstructured_block_builder::put_name_mode(), sheaf::poset_dft::recursive_dft(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_handle::remove(), sheaf::poset_crg_state::remove_cover_member(), sheaf::poset_crg_state::remove_cover_members(), sheaf::poset_state_handle::transfer_cover(), sheaf::schema_poset_member::update_dof_descriptors(), sheaf::interval_index_space_iterator::update_interval_ids(), fiber_bundle::section_space_schema_member::update_table_cache(), fiber_bundle::section_space_schema_member::update_table_dof_id_space(), and fiber_bundle::sec_vd::value_at_point_ua().

◆ id_spaces()

const sheaf::index_space_family & sheaf::index_space_iterator::id_spaces ( ) const

The id space family for this (const version).

Precondition
Postcondition
  • is_basic_query

Definition at line 384 of file index_space_iterator.cc.

References host(), hub_id_space(), sheaf::index_space_collection::id_spaces(), and is_attached().

Referenced by sheaf::array_implicit_index_space_iterator::array_implicit_index_space_iterator(), sheaf::array_index_space_iterator::array_index_space_iterator(), sheaf::implicit_index_space_iterator::attach_to(), sheaf::explicit_index_space_iterator::attach_to(), attach_to(), conforms_to_state(), sheaf::constant_implicit_index_space_iterator::constant_implicit_index_space_iterator(), fiber_bundle::base_space_poset::get_adjacency_id_space_iterator(), fiber_bundle::base_space_poset::get_connectivity_id_space_iterator(), fiber_bundle::base_space_poset::get_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::get_vertex_id_space_iterator(), fiber_bundle::base_space_poset::get_zone_id_space_iterator(), sheaf::hash_index_space_iterator::hash_index_space_iterator(), hub_id_space(), sheaf::hub_index_space_iterator::hub_index_space_iterator(), sheaf::implicit_index_space_iterator::index(), sheaf::explicit_index_space_iterator::index(), index(), sheaf::interval_index_space_iterator::interval_index_space_iterator(), invalidate_ids(), sheaf::list_index_space_iterator::list_index_space_iterator(), name(), 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::ragged_array_implicit_index_space_iterator::ragged_array_implicit_index_space_iterator(), sheaf::reserved_primary_index_space_iterator::reserved_primary_index_space_iterator(), sheaf::singleton_implicit_index_space_iterator::singleton_implicit_index_space_iterator(), sheaf::singleton_index_space_iterator::singleton_index_space_iterator(), and sheaf::explicit_index_space_iterator::state().

◆ index()

◆ invalidate_ids()

void sheaf::index_space_iterator::invalidate_ids ( )
protected

◆ invariant()

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

Class invariant.

Invariant
  • !is_attached() || is_done() || is_valid(pod())
  • !is_attached() || is_done() || is_valid(hub_pod())
Hack:
The following invariance should be true except when iterating over reserved terms.

Reimplemented from sheaf::any.

Reimplemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, fiber_bundle::ij_adjacency_implicit_index_space_iterator, fiber_bundle::ijk_connectivity_implicit_index_space_iterator, sheaf::reserved_primary_index_space_iterator, fiber_bundle::i_adjacency_implicit_index_space_iterator, fiber_bundle::ij_connectivity_implicit_index_space_iterator, sheaf::hub_index_space_iterator, sheaf::offset_index_space_iterator, sheaf::primary_index_space_iterator, sheaf::array_index_space_iterator, sheaf::explicit_index_space_iterator, sheaf::hash_index_space_iterator, sheaf::list_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, sheaf::singleton_implicit_index_space_iterator, sheaf::singleton_index_space_iterator, sheaf::primitives_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 853 of file index_space_iterator.cc.

References sheaf::deep_size(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), hub_pod(), sheaf::any::invariant(), sheaf::any::invariant_check(), is_attached(), is_done(), sheaf::is_valid(), and pod().

Referenced by attach_to(), sheaf::implicit_index_space_iterator::invariant(), sheaf::explicit_index_space_iterator::invariant(), is_ancestor_of(), next(), operator=(), and reset().

◆ is_ancestor_of()

◆ is_attached()

bool sheaf::index_space_iterator::is_attached ( ) const
pure virtual

True if this iterator is attached to a state.

Precondition
Is Abstract.
Postcondition
  • is_basic_query

Implemented in sheaf::explicit_index_space_iterator, and sheaf::implicit_index_space_iterator.

Definition at line 504 of file index_space_iterator.cc.

References attach_to().

Referenced by attach_to(), detach(), fiber_bundle::homogeneous_block::get_adjacency_id_space_iterator(), fiber_bundle::base_space_poset::get_adjacency_id_space_iterator(), fiber_bundle::sec_rep_space::get_branch_id_space_iterator(), fiber_bundle::sec_rep_space_member::get_branch_id_space_iterator(), fiber_bundle::homogeneous_block::get_connectivity_id_space_iterator(), fiber_bundle::base_space_poset::get_connectivity_id_space_iterator(), sheaf::poset_crg_state::get_cover_id_space_iterator(), sheaf::index_space_family_iterator::get_id_space_iterator(), sheaf::index_space_interval_iterator::get_id_space_iterator(), sheaf::explicit_index_space_collection::get_id_space_iterator(), sheaf::index_space_collection::get_id_space_iterator(), sheaf::constant_index_space_interval::get_id_space_iterator(), sheaf::singleton_index_space_interval::get_id_space_iterator(), fiber_bundle::i_connectivity_index_space_interval::get_id_space_iterator(), sheaf::explicit_index_space_interval::get_id_space_iterator(), sheaf::ragged_array_index_space_interval::get_id_space_iterator(), fiber_bundle::i_adjacency_index_space_interval::get_id_space_iterator(), fiber_bundle::ij_connectivity_index_space_interval::get_id_space_iterator(), sheaf::array_index_space_interval::get_id_space_iterator(), fiber_bundle::ij_adjacency_index_space_interval::get_id_space_iterator(), fiber_bundle::ijk_connectivity_index_space_interval::get_id_space_iterator(), fiber_bundle::ijk_adjacency_index_space_interval::get_id_space_iterator(), sheaf::index_space_family::get_id_space_iterator(), sheaf::forwarding_index_space_handle::get_iterator(), sheaf::explicit_index_space_handle::get_iterator(), sheaf::explicit_index_space_state::get_iterator(), sheaf::index_space_handle::get_iterator(), sheaf::namespace_poset::get_member_poset_id_space_iterator(), fiber_bundle::zone_nodes_block::get_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::get_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::get_vertex_id_space_iterator(), fiber_bundle::homogeneous_block::get_vertex_id_space_iterator(), fiber_bundle::base_space_poset::get_zone_id_space_iterator(), fiber_bundle::homogeneous_block::get_zone_id_space_iterator(), glued_hub_pod(), host(), hub_id_space(), hub_pod(), id_spaces(), index(), invariant(), name(), next(), operator=(), operator==(), pod(), fiber_bundle::homogeneous_block::release_adjacency_id_space_iterator(), fiber_bundle::base_space_poset::release_adjacency_id_space_iterator(), fiber_bundle::homogeneous_block::release_connectivity_id_space_iterator(), fiber_bundle::base_space_poset::release_connectivity_id_space_iterator(), sheaf::poset_crg_state::release_cover_id_space_iterator(), sheaf::poset_state_handle::release_cover_id_space_iterator(), fiber_bundle::zone_nodes_block::release_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::release_vertex_client_id_space_iterator(), fiber_bundle::base_space_poset::release_vertex_id_space_iterator(), fiber_bundle::homogeneous_block::release_vertex_id_space_iterator(), fiber_bundle::base_space_poset::release_zone_id_space_iterator(), fiber_bundle::homogeneous_block::release_zone_id_space_iterator(), reset(), and unglued_hub_pod().

◆ is_done()

bool sheaf::index_space_iterator::is_done ( ) const

True if iteration is finished.

Postcondition
  • is_basic_query

Definition at line 202 of file index_space_iterator.cc.

References _is_done, and reset().

Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), fiber_bundle::sec_vd_algebra::assign(), fiber_bundle::section_space_schema_table_dof_crg_range::atoms(), sheaf::hash_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::array_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), fields::body_builder::build_pa(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), sheaf::poset_crg_state::copy_cover(), sheaf::poset_crg_state::cover_is_equal(), fields::edge_centered_polygon_refiner::create_edge_center(), fiber_bundle::base_space_poset::db(), fiber_bundle::sec_vd::deep_copy(), sheaf::abstract_poset_member::delete_down(), sheaf::poset_powerset_state::delete_poset_member(), sheaf::abstract_poset_member::delete_state(), sheaf::poset_crg_state::explicit_down_set_members(), sheaf::interval_index_space_record::externalize(), sheaf::member_record_set::externalize(), sheaf::member_record::externalize(), fiber_bundle::sec_vd_algebra::extrema(), fields::average_base_space_map_push_action::finalize(), sheaf::crg_interval::force_explicit_cover(), force_is_done(), fiber_bundle::sparse_section_dof_map::get_dof_tuple(), fiber_bundle::point_block_crg_interval::get_implicit_private_data(), sheaf::implicit_crg_interval::get_private_data(), glued_hub_pod(), hub_pod(), sheaf::index_equivalence_class::index_equivalence_class(), index_space_iterator(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::section_space_schema_poset::initialize_table_dof_subposet(), sheaf::poset_crg_state::insert_cover_member(), fiber_bundle::base_space_poset::insert_interval_in_standard_subposets(), invalidate_ids(), sheaf::hub_index_space_iterator::invariant(), sheaf::poset_table_state::invariant(), invariant(), sheaf::poset_state_handle::le(), fields::edge_centered_polygon_refiner::make_new_vertices(), sheaf::hash_index_space_state::map_rep_remove_entry(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::array_index_space_state::map_rep_remove_entry(), sheaf::list_index_space_state::map_rep_remove_entry(), sheaf::interval_index_space_state::map_rep_remove_entry(), fiber_bundle::sec_vd::new_comp(), next(), sheaf::primitives_index_space_iterator::next(), sheaf::singleton_implicit_index_space_iterator::next(), sheaf::singleton_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(), sheaf::array_index_space_iterator::next(), sheaf::hash_index_space_iterator::next(), sheaf::list_index_space_iterator::next(), sheaf::hub_index_space_iterator::next(), sheaf::primary_index_space_iterator::next(), sheaf::offset_index_space_iterator::next(), sheaf::reserved_primary_index_space_iterator::next(), sheaf::interval_index_space_iterator::next(), sheaf::depth_first_iterator::next(), sheaf::interval_index_space_iterator::next_interval(), fiber_bundle::operator<<(), sheaf::operator<<(), fiber_bundle::sec_vd::operator=(), pod(), sheaf::poset_orderer::postvisit_action(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_handle::push(), fiber_bundle::sparse_section_dof_map::put_dof_tuple(), sheaf::poset_powerset_state::put_subposet_member_index_ub(), sheaf::poset_dft::recursive_dft(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_handle::remove(), sheaf::poset_crg_state::remove_cover_member(), sheaf::poset_crg_state::remove_cover_members(), sheaf::poset_state_handle::remove_cover_members(), sheaf::poset_state_handle::transfer_cover(), unglued_hub_pod(), sheaf::schema_poset_member::update_dof_descriptors(), sheaf::interval_index_space_iterator::update_interval_ids(), fiber_bundle::section_space_schema_member::update_table_cache(), fiber_bundle::section_space_schema_member::update_table_dof_descriptors(), fiber_bundle::section_space_schema_member::update_table_dof_id_space(), fiber_bundle::sec_vd::value_at_point_ua(), and sheaf::poset_powerset_state::~poset_powerset_state().

◆ name()

std::string sheaf::index_space_iterator::name ( ) const

◆ next()

void sheaf::index_space_iterator::next ( )
pure virtual

Makes id() the next id in the iteration.

Precondition
  • !is_done()
Is Abstract.
Postcondition

Implemented in fiber_bundle::ijk_adjacency_implicit_index_space_iterator, fiber_bundle::section_space_schema_jims_index_space_iterator, sheaf::interval_index_space_iterator, fiber_bundle::ij_adjacency_implicit_index_space_iterator, sheaf::reserved_primary_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, 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, 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, sheaf::singleton_implicit_index_space_iterator, sheaf::singleton_index_space_iterator, and sheaf::primitives_index_space_iterator.

Definition at line 175 of file index_space_iterator.cc.

References hub_pod(), invariant(), is_attached(), is_done(), and pod().

Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), fiber_bundle::sec_vd_algebra::assign(), fiber_bundle::section_space_schema_table_dof_crg_range::atoms(), fields::body_builder::build_pa(), sheaf::poset_scaffold::convert_record_id_to_subposet_id(), sheaf::poset_crg_state::copy_cover(), sheaf::poset_crg_state::cover_is_equal(), fields::edge_centered_polygon_refiner::create_edge_center(), fiber_bundle::base_space_poset::db(), fiber_bundle::sec_vd::deep_copy(), sheaf::abstract_poset_member::delete_down(), sheaf::poset_powerset_state::delete_poset_member(), sheaf::abstract_poset_member::delete_state(), sheaf::poset_crg_state::explicit_down_set_members(), sheaf::member_record_set::externalize(), sheaf::member_record::externalize(), fiber_bundle::sec_vd_algebra::extrema(), sheaf::crg_interval::force_explicit_cover(), fiber_bundle::sparse_section_dof_map::get_dof_tuple(), fiber_bundle::point_block_crg_interval::get_implicit_private_data(), sheaf::implicit_crg_interval::get_private_data(), sheaf::index_equivalence_class::index_equivalence_class(), index_space_iterator(), fiber_bundle::product_section_space_schema_poset::initialize_row_dof_subposet(), fiber_bundle::section_space_schema_poset::initialize_standard_members(), fiber_bundle::section_space_schema_poset::initialize_table_dof_subposet(), fiber_bundle::base_space_poset::insert_interval_in_standard_subposets(), sheaf::poset_table_state::invariant(), sheaf::poset_state_handle::le(), fields::edge_centered_polygon_refiner::make_new_vertices(), fiber_bundle::sec_vd::new_comp(), sheaf::depth_first_iterator::next(), fiber_bundle::operator<<(), sheaf::operator<<(), fiber_bundle::sec_vd::operator=(), sheaf::poset_orderer::postvisit_action(), fiber_bundle::sparse_section_dof_map::put_dof_tuple(), sheaf::poset_powerset_state::put_subposet_member_index_ub(), sheaf::poset_dft::recursive_dft(), sheaf::poset_crg_state::remove_cover_members(), sheaf::poset_state_handle::transfer_cover(), sheaf::schema_poset_member::update_dof_descriptors(), fiber_bundle::section_space_schema_member::update_table_cache(), fiber_bundle::section_space_schema_member::update_table_dof_descriptors(), fiber_bundle::section_space_schema_member::update_table_dof_id_space(), fiber_bundle::sec_vd::value_at_point_ua(), and sheaf::poset_powerset_state::~poset_powerset_state().

◆ operator=()

◆ operator==()

◆ pod()

sheaf::index_space_iterator::pod_type sheaf::index_space_iterator::pod ( ) const

The current id in the iteration.

Precondition
  • !is_done()
Postcondition
  • is_basic_query

Definition at line 270 of file index_space_iterator.cc.

References _pod, hub_pod(), is_attached(), and is_done().

Referenced by sheaf::namespace_poset_dof_map::allocate_dofs(), fiber_bundle::sec_vd_algebra::assign(), fiber_bundle::section_space_schema_table_dof_crg_range::atoms(), sheaf::array_index_space_iterator::attach_to(), sheaf::hash_index_space_iterator::attach_to(), sheaf::list_index_space_iterator::attach_to(), sheaf::interval_index_space_iterator::attach_to(), fiber_bundle::sec_vd::deep_copy(), sheaf::poset_powerset_state::delete_poset_member(), sheaf::member_record_set::externalize(), fiber_bundle::sec_vd_algebra::extrema(), fields::average_base_space_map_push_action::finalize(), force_is_done(), fiber_bundle::sparse_section_dof_map::get_dof_tuple(), sheaf::index_equivalence_class::index_equivalence_class(), sheaf::poset_crg_state::insert_cover_member(), sheaf::hub_index_space_iterator::invariant(), sheaf::poset_table_state::invariant(), invariant(), sheaf::hash_index_space_state::map_rep_push(), sheaf::gathered_insertion_index_space_state::map_rep_push(), sheaf::array_index_space_state::map_rep_push(), sheaf::list_index_space_state::map_rep_push(), sheaf::interval_index_space_state::map_rep_push(), sheaf::hash_index_space_state::map_rep_remove_entry(), sheaf::gathered_insertion_index_space_state::map_rep_remove_entry(), sheaf::array_index_space_state::map_rep_remove_entry(), sheaf::list_index_space_state::map_rep_remove_entry(), sheaf::interval_index_space_state::map_rep_remove_entry(), fiber_bundle::sec_vd::new_comp(), next(), sheaf::primitives_index_space_iterator::next(), sheaf::constant_implicit_index_space_iterator::next(), sheaf::singleton_implicit_index_space_iterator::next(), sheaf::singleton_index_space_iterator::next(), sheaf::array_implicit_index_space_iterator::next(), sheaf::ragged_array_implicit_index_space_iterator::next(), sheaf::hash_index_space_iterator::next(), sheaf::array_index_space_iterator::next(), sheaf::list_index_space_iterator::next(), sheaf::offset_index_space_iterator::next(), sheaf::primary_index_space_iterator::next(), sheaf::hub_index_space_iterator::next(), sheaf::reserved_primary_index_space_iterator::next(), sheaf::interval_index_space_iterator::next(), sheaf::operator<<(), fiber_bundle::sec_vd::operator=(), sheaf::gathered_insertion_index_space_state::push(), sheaf::gathered_insertion_index_space_handle::push(), fiber_bundle::sparse_section_dof_map::put_dof_tuple(), sheaf::poset_powerset_state::put_subposet_member_index_ub(), sheaf::gathered_insertion_index_space_state::remove(), sheaf::gathered_insertion_index_space_handle::remove(), sheaf::poset_crg_state::remove_cover_member(), sheaf::abstract_poset_member::remove_cover_member(), sheaf::schema_poset_member::update_dof_descriptors(), sheaf::interval_index_space_iterator::update_interval_ids(), fiber_bundle::section_space_schema_member::update_table_cache(), fiber_bundle::section_space_schema_member::update_table_dof_descriptors(), and sheaf::poset_powerset_state::~poset_powerset_state().

◆ reset()

void sheaf::index_space_iterator::reset ( )
pure virtual

◆ unglued_hub_pod()

sheaf::index_space_iterator::pod_type sheaf::index_space_iterator::unglued_hub_pod ( ) const

The current unglued hub id in the iteration.

Precondition
  • !is_done()
Postcondition
  • is_basic_query

Definition at line 310 of file index_space_iterator.cc.

References _hub_pod, glued_hub_pod(), is_attached(), and is_done().

Referenced by hub_pod().

Member Data Documentation

◆ _hub_pod

pod_type sheaf::index_space_iterator::_hub_pod
protected

◆ _is_done

◆ _pod


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