SheafSystem
0.0.0.0
|
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space_schema_member to the current member of the iteration. More...
#include <section_dof_iterator.h>
Public Member Functions | |
virtual section_dof_iterator & | operator= (const poset_dof_iterator &xother) |
Assignment operator. More... | |
section_dof_iterator & | operator= (const section_dof_iterator &xother) |
Assignment operator. More... | |
virtual | ~section_dof_iterator () |
Destructor. More... | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
virtual section_dof_iterator * | clone () const =0 |
Make a new instance of the same type as this. More... | |
virtual bool | invariant () const |
The class invariant. More... | |
virtual bool | is_initialized () const |
True if this has been initialized for iteration with respect to a specific anchor. More... | |
section_space_schema_member & | anchor () |
The schema member whose downset is being iterated over; the top member of the domain of iteration (mutable version). More... | |
const section_space_schema_member & | anchor () const |
The schema member whose downset is being iterated over; the top member of the domain of iteration (const version). More... | |
virtual void | put_anchor (const schema_poset_member *xanchor, int xversion) |
Set anchor() to xversion of *xanchor. More... | |
virtual bool | is_done () const |
True if iteration finished. More... | |
virtual void | force_is_done () |
Force the iterator to be done. More... | |
virtual void | next () |
Makes this the next member of the subset. More... | |
virtual void | reset (bool xreset_markers=RESET) |
Restarts the iteration over the down set of anchor() If xreset_markers, set !has_visited for all members. More... | |
virtual int | ct (bool xreset=false) |
The number of members of the iteration set, from the current member to the end, inclusive. If xreset, reset before computing the count. More... | |
virtual bool | has_visited (pod_index_type xhub_id) const |
True if this has already visited hub id xhub_id. More... | |
virtual bool | has_visited (const schema_poset_member &xmbr) const |
True if this has already visited xmbr. More... | |
virtual void | put_has_visited (pod_index_type xhub_id, bool xvalue) |
Set the visisted marker for hub id xhub_id to xvalue. Intended for use reseting iterator without having to reset entire collection of markers. More... | |
section_space_schema_member & | item () |
The current member of the iteration (mutable version). More... | |
const section_space_schema_member & | item () const |
The current member of the iteration (const version). More... | |
virtual bool | item_is_ancestor_of (const schema_poset_member &xmbr) const |
True if xmbr conforms to the type of item of this. More... | |
virtual section_dof_iterator & | operator= (const poset_dof_iterator &xother) |
Assignment operator. More... | |
section_dof_iterator & | operator= (const section_dof_iterator &xother) |
Assignment operator. More... | |
virtual | ~section_dof_iterator () |
Destructor. More... | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
virtual section_dof_iterator * | clone () const =0 |
Make a new instance of the same type as this. More... | |
virtual bool | invariant () const |
The class invariant. More... | |
section_space_schema_member & | anchor () |
The schema member whose downset is being iterated over; the top member of the domain of iteration (mutable version). More... | |
const section_space_schema_member & | anchor () const |
The schema member whose downset is being iterated over; the top member of the domain of iteration (const version). More... | |
section_space_schema_member & | item () |
The current member of the iteration (mutable version). More... | |
const section_space_schema_member & | item () const |
The current member of the iteration (const version). More... | |
virtual bool | item_is_ancestor_of (const schema_poset_member &xmbr) const |
True if xmbr conforms to the type of item of this. More... | |
Public Member Functions inherited from sheaf::poset_dof_iterator | |
poset_dof_iterator () | |
Default constructor; creates an unattached iterator, with and all-pass filter. More... | |
poset_dof_iterator (const poset_dof_iterator &xother) | |
Copy constructor. More... | |
virtual | ~poset_dof_iterator () |
Destructor. More... | |
poset_dof_iterator (const schema_poset_member &xanchor, bool xis_table_dof=false, int xversion=ANCHOR_VERSION) | |
Creates an iterator over the table dofs (is_table_dof true) or row dofs (xis_table_dof false) of version xversion in schema xanchor. "Explicit" prevents interpretation as conversion from schema_poset_member. More... | |
schema_poset_member & | anchor () |
The schema member whose downset is being iterated over; the top member of the domain of iteration (mutable version). More... | |
const schema_poset_member & | anchor () const |
The schema member whose downset is being iterated over; the top member of the domain of iteration (const version). More... | |
virtual void | put_anchor (pod_index_type xindex) |
Set anchor() to the member with hub id xhub_id in host(). Does not change version; does not force reset of markers. More... | |
void | put_anchor (const scoped_index &xid) |
Set anchor() to the member with id xid in host(). Does not change version; does not force reset of markers. More... | |
bool | has_visited (const scoped_index &xindex) const |
True if this has already visited id xid. More... | |
void | put_has_visited (const scoped_index &xid, bool xvalue) |
Set the visisted marker for id xid to xvalue. Intended for use reseting iterator without having to reset entire collection of markers. More... | |
schema_poset_member & | item () |
The current member of the iteration (mutable version). More... | |
const schema_poset_member & | item () const |
The current member of the iteration (const version). More... | |
virtual const scoped_index & | index () |
The index of the current member of the iteration. More... | |
bool | is_table_dof () const |
True if iterating over table dofs. 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 | |
section_dof_iterator () | |
Default constructor; creates an unattached iterator. Protected because this class is abstract. More... | |
section_dof_iterator (const section_dof_iterator &xother) | |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract. More... | |
virtual void | reset_item ()=0 |
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be redefined in descendants. More... | |
virtual void | update_item ()=0 |
Attaches the item handle to the current index, or detaches the item handle if is_done. More... | |
section_dof_iterator () | |
Default constructor; creates an unattached iterator. Protected because this class is abstract. More... | |
section_dof_iterator (const section_dof_iterator &xother) | |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract. More... | |
section_dof_iterator (const section_space_schema_member &xanchor, bool xis_table_dof=false, int xversion=ANCHOR_VERSION) | |
Creates an iterator over the table dofs (xis_table_dof == true) or rows dofs (xis_table_dof = false) of refinemement level xversion of schema xanchor. "Explicit" prevents interpretation as conversion from section_space_schema_member. More... | |
virtual void | reset_item ()=0 |
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be redefined in descendants. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes | |
depth_first_iterator * | _discretization_itr |
The discretization iterator. More... | |
Protected Attributes inherited from sheaf::poset_dof_iterator | |
schema_poset_member * | _anchor |
The schema member whose downset is being iterated over; the top member of the domain of iteration. More... | |
schema_poset_member * | _item |
The member handle for the current item in the iteration. More... | |
postorder_iterator | _itr |
The index iterator used to implement the iteration. More... | |
bool | _is_table_dof |
True if iterating over table dofs. More... | |
Additional Inherited Members | |
Public Types inherited from sheaf::poset_dof_iterator | |
enum | anchor_version_index { ANCHOR_VERSION = CURRENT_MEMBER_VERSION, ANCHOR_HOST_VERSION = CURRENT_HOST_VERSION } |
Identifiers for anchor version. More... | |
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space_schema_member to the current member of the iteration.
Definition at line 50 of file section_dof_iterator.h.
|
virtual |
Destructor.
Definition at line 98 of file section_dof_iterator.cc.
References is_ancestor_of().
Referenced by operator=().
|
protected |
Default constructor; creates an unattached iterator. Protected because this class is abstract.
Definition at line 618 of file section_dof_iterator.cc.
References _discretization_itr, invariant(), and is_initialized().
Referenced by item_is_ancestor_of().
|
protected |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract.
Definition at line 640 of file section_dof_iterator.cc.
References _discretization_itr, sheaf::poset_dof_iterator::_itr, anchor(), sheaf::depth_first_iterator::clone(), invariant(), is_initialized(), sheaf::any::is_same_type(), sheaf::poset_dof_iterator::is_table_dof(), item(), and sheaf::poset_component::version().
|
virtual |
Destructor.
|
protected |
Default constructor; creates an unattached iterator. Protected because this class is abstract.
|
protected |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract.
|
explicitprotected |
Creates an iterator over the table dofs (xis_table_dof == true) or rows dofs (xis_table_dof = false) of refinemement level xversion of schema xanchor. "Explicit" prevents interpretation as conversion from section_space_schema_member.
Definition at line 292 of file section_dof_iterator_2.cc.
References anchor(), sheaf::poset_component::has_version(), fiber_bundle::section_space_schema_member::host(), invariant(), is_done(), is_initialized(), sheaf::any::is_same_type(), fiber_bundle::section_space_schema_poset::is_schematized(), item(), item_is_ancestor_of(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_component::unaliased_version().
section_space_schema_member& fiber_bundle::section_dof_iterator::anchor | ( | ) |
The schema member whose downset is being iterated over; the top member of the domain of iteration (mutable version).
const section_space_schema_member& fiber_bundle::section_dof_iterator::anchor | ( | ) | const |
The schema member whose downset is being iterated over; the top member of the domain of iteration (const version).
fiber_bundle::section_space_schema_member & fiber_bundle::section_dof_iterator::anchor | ( | ) |
The schema member whose downset is being iterated over; the top member of the domain of iteration (mutable version).
Definition at line 191 of file section_dof_iterator.cc.
Referenced by is_initialized(), and section_dof_iterator().
const fiber_bundle::section_space_schema_member & fiber_bundle::section_dof_iterator::anchor | ( | ) | const |
The schema member whose downset is being iterated over; the top member of the domain of iteration (const version).
Definition at line 211 of file section_dof_iterator.cc.
References put_anchor().
|
pure virtual |
Make a new instance of the same type as this.
Reimplemented from sheaf::poset_dof_iterator.
Implemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
pure virtual |
Make a new instance of the same type as this.
Reimplemented from sheaf::poset_dof_iterator.
Implemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
virtual |
The number of members of the iteration set, from the current member to the end, inclusive. If xreset, reset before computing the count.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 450 of file section_dof_iterator.cc.
References has_visited().
Referenced by reset().
|
virtual |
Force the iterator to be done.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 333 of file section_dof_iterator.cc.
References next().
Referenced by is_done().
|
virtual |
True if this has already visited hub id xhub_id.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 476 of file section_dof_iterator.cc.
Referenced by ct().
|
virtual |
True if this has already visited xmbr.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 500 of file section_dof_iterator.cc.
References fiber_bundle::section_space_schema_member::base_space_id(), fiber_bundle::section_space_schema_member::fiber_schema_id(), sheaf::poset_component::host(), sheaf::poset_component::is_attached(), and put_has_visited().
|
virtual |
The class invariant.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
virtual |
The class invariant.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
Definition at line 140 of file section_dof_iterator.cc.
References is_initialized().
Referenced by fiber_bundle::binary_section_dof_iterator::invariant(), fiber_bundle::product_section_dof_iterator::invariant(), is_ancestor_of(), and section_dof_iterator().
|
virtual |
True if other conforms to this.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
virtual |
True if other conforms to this.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
Definition at line 121 of file section_dof_iterator.cc.
References invariant().
Referenced by ~section_dof_iterator().
|
virtual |
True if iteration finished.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 312 of file section_dof_iterator.cc.
References force_is_done().
Referenced by fiber_bundle::binary_section_dof_iterator::binary_section_dof_iterator(), fiber_bundle::sparse_field_dof_map::get_dof_tuple(), fiber_bundle::binary_section_dof_iterator::initialize(), fiber_bundle::binary_section_dof_iterator::operator=(), fiber_bundle::product_section_dof_iterator::operator=(), fiber_bundle::product_section_dof_iterator::product_section_dof_iterator(), put_anchor(), fiber_bundle::sparse_field_dof_map::put_dof_tuple(), fiber_bundle::binary_section_dof_iterator::reset_item(), fiber_bundle::product_section_dof_iterator::reset_item(), section_dof_iterator(), and fiber_bundle::binary_section_dof_iterator::update_item().
|
virtual |
True if this has been initialized for iteration with respect to a specific anchor.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 170 of file section_dof_iterator.cc.
References anchor().
Referenced by fiber_bundle::binary_section_dof_iterator::anchor(), fiber_bundle::product_section_dof_iterator::anchor(), fiber_bundle::binary_section_dof_iterator::binary_section_dof_iterator(), fiber_bundle::binary_section_dof_iterator::initialize(), invariant(), fiber_bundle::binary_section_dof_iterator::item(), fiber_bundle::product_section_dof_iterator::item(), operator=(), fiber_bundle::binary_section_dof_iterator::operator=(), fiber_bundle::product_section_dof_iterator::operator=(), fiber_bundle::product_section_dof_iterator::product_section_dof_iterator(), fiber_bundle::binary_section_dof_iterator::reset_item(), fiber_bundle::product_section_dof_iterator::reset_item(), section_dof_iterator(), and fiber_bundle::binary_section_dof_iterator::update_item().
section_space_schema_member& fiber_bundle::section_dof_iterator::item | ( | ) |
The current member of the iteration (mutable version).
const section_space_schema_member& fiber_bundle::section_dof_iterator::item | ( | ) | const |
The current member of the iteration (const version).
fiber_bundle::section_space_schema_member & fiber_bundle::section_dof_iterator::item | ( | ) |
The current member of the iteration (mutable version).
Definition at line 555 of file section_dof_iterator.cc.
Referenced by put_has_visited(), and section_dof_iterator().
const fiber_bundle::section_space_schema_member & fiber_bundle::section_dof_iterator::item | ( | ) | const |
The current member of the iteration (const version).
Definition at line 575 of file section_dof_iterator.cc.
References item_is_ancestor_of().
|
virtual |
True if xmbr conforms to the type of item of this.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
virtual |
True if xmbr conforms to the type of item of this.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
Definition at line 595 of file section_dof_iterator.cc.
References section_dof_iterator().
Referenced by item(), and section_dof_iterator().
|
virtual |
Makes this the next member of the subset.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 365 of file section_dof_iterator.cc.
References reset().
Referenced by force_is_done(), fiber_bundle::sparse_field_dof_map::get_dof_tuple(), and fiber_bundle::sparse_field_dof_map::put_dof_tuple().
|
virtual |
Assignment operator.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
section_dof_iterator& fiber_bundle::section_dof_iterator::operator= | ( | const section_dof_iterator & | xother | ) |
Assignment operator.
|
virtual |
Assignment operator.
Reimplemented from sheaf::poset_dof_iterator.
Reimplemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
Definition at line 34 of file section_dof_iterator.cc.
References _discretization_itr, sheaf::poset_dof_iterator::_itr, sheaf::poset_dof_iterator::anchor(), sheaf::depth_first_iterator::clone(), sheaf::poset_dof_iterator::is_done(), is_initialized(), sheaf::poset_dof_iterator::is_initialized(), sheaf::poset_dof_iterator::is_table_dof(), sheaf::poset_dof_iterator::item(), and sheaf::poset_component::version().
fiber_bundle::section_dof_iterator & fiber_bundle::section_dof_iterator::operator= | ( | const section_dof_iterator & | xother | ) |
Assignment operator.
Definition at line 76 of file section_dof_iterator.cc.
References ~section_dof_iterator().
|
virtual |
Set anchor() to xversion of *xanchor.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 231 of file section_dof_iterator.cc.
References sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::section_space_schema_poset::base_space(), sheaf::poset_state_handle::bottom(), sheaf::schema_poset_member::clone(), fiber_bundle::section_space_schema_member::fiber_schema(), sheaf::poset_component::has_version(), sheaf::poset_component::host(), fiber_bundle::section_space_schema_member::host(), is_done(), sheaf::poset_state_handle::is_schematized(), sheaf::filtered_depth_first_iterator::put_anchor(), fiber_bundle::discretization_iterator::put_schema_anchor(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_component::unaliased_version().
Referenced by anchor(), fiber_bundle::binary_section_dof_iterator::initialize(), and fiber_bundle::product_section_dof_iterator::product_section_dof_iterator().
|
virtual |
Set the visisted marker for hub id xhub_id to xvalue. Intended for use reseting iterator without having to reset entire collection of markers.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 528 of file section_dof_iterator.cc.
References item().
Referenced by has_visited().
|
virtual |
Restarts the iteration over the down set of anchor() If xreset_markers, set !has_visited for all members.
Reimplemented from sheaf::poset_dof_iterator.
Definition at line 409 of file section_dof_iterator.cc.
References ct().
Referenced by fiber_bundle::binary_section_dof_iterator::initialize(), next(), and fiber_bundle::product_section_dof_iterator::product_section_dof_iterator().
|
protectedpure virtual |
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be redefined in descendants.
Reimplemented from sheaf::poset_dof_iterator.
Implemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
protectedpure virtual |
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be redefined in descendants.
Reimplemented from sheaf::poset_dof_iterator.
Implemented in fiber_bundle::binary_section_dof_iterator, and fiber_bundle::product_section_dof_iterator.
|
protectedpure virtual |
Attaches the item handle to the current index, or detaches the item handle if is_done.
Reimplemented from sheaf::poset_dof_iterator.
Implemented in fiber_bundle::binary_section_dof_iterator.
Referenced by fiber_bundle::product_section_dof_iterator::reset_item().
|
protected |
The discretization iterator.
Definition at line 215 of file section_dof_iterator.h.
Referenced by fiber_bundle::binary_section_dof_iterator::initialize(), operator=(), section_dof_iterator(), and fiber_bundle::binary_section_dof_iterator::update_item().