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 <binary_section_dof_iterator.h>
Public Member Functions | |
binary_section_dof_iterator () | |
Default constructor; creates an unattached iterator. Protected because this class is abstract. More... | |
binary_section_dof_iterator (const binary_section_dof_iterator &xother) | |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract. More... | |
virtual binary_section_dof_iterator & | operator= (const poset_dof_iterator &xother) |
Assignment operator. More... | |
binary_section_dof_iterator & | operator= (const binary_section_dof_iterator &xother) |
Assignment operator. More... | |
virtual | ~binary_section_dof_iterator () |
Destructor. More... | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
virtual binary_section_dof_iterator * | clone () const |
Make a new instance of the same type as this. More... | |
virtual bool | invariant () const |
The class invariant. More... | |
binary_section_dof_iterator (const binary_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 binary_section_space_schema_member. More... | |
binary_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 binary_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... | |
binary_section_space_schema_member & | item () |
The the current member of the iteration (mutable version). More... | |
const binary_section_space_schema_member & | item () const |
The 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 fiber_bundle::section_dof_iterator | |
section_dof_iterator & | operator= (const section_dof_iterator &xother) |
Assignment operator. More... | |
virtual | ~section_dof_iterator () |
Destructor. 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... | |
section_dof_iterator & | operator= (const section_dof_iterator &xother) |
Assignment operator. More... | |
virtual | ~section_dof_iterator () |
Destructor. 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... | |
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 | |
virtual void | reset_item () |
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 () |
Attaches the item handle to the current index, or detaches the item handle if is_done. More... | |
void | initialize (const binary_section_space_schema_member &xanchor, bool xis_table_dof, int xversion) |
Initializes the iteration. More... | |
Protected Member Functions inherited from fiber_bundle::section_dof_iterator | |
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 () | |
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... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor 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... | |
Protected Attributes inherited from fiber_bundle::section_dof_iterator | |
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... | |
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 41 of file binary_section_dof_iterator.h.
fiber_bundle::binary_section_dof_iterator::binary_section_dof_iterator | ( | ) |
Default constructor; creates an unattached iterator. Protected because this class is abstract.
Definition at line 32 of file binary_section_dof_iterator.cc.
References invariant(), and fiber_bundle::section_dof_iterator::is_initialized().
Referenced by clone(), and invariant().
fiber_bundle::binary_section_dof_iterator::binary_section_dof_iterator | ( | const binary_section_dof_iterator & | xother | ) |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract.
Definition at line 54 of file binary_section_dof_iterator.cc.
References anchor(), invariant(), fiber_bundle::section_dof_iterator::is_done(), fiber_bundle::section_dof_iterator::is_initialized(), sheaf::any::is_same_type(), item(), and operator=().
|
virtual |
Destructor.
Definition at line 129 of file binary_section_dof_iterator.cc.
References is_ancestor_of().
Referenced by operator=().
|
explicit |
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 binary_section_space_schema_member.
Definition at line 220 of file binary_section_dof_iterator.cc.
References anchor(), sheaf::poset_component::has_version(), fiber_bundle::binary_section_space_schema_member::host(), initialize(), invariant(), fiber_bundle::section_dof_iterator::is_done(), fiber_bundle::section_dof_iterator::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().
fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_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 257 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::is_initialized().
Referenced by binary_section_dof_iterator(), initialize(), operator=(), and update_item().
const fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_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 280 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::is_initialized(), and item().
|
virtual |
Make a new instance of the same type as this.
Implements fiber_bundle::section_dof_iterator.
Definition at line 168 of file binary_section_dof_iterator.cc.
References binary_section_dof_iterator(), and invariant().
Referenced by is_ancestor_of().
|
protected |
Initializes the iteration.
Definition at line 440 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::_discretization_itr, sheaf::poset_dof_iterator::_is_table_dof, anchor(), sheaf::poset_component::has_version(), fiber_bundle::binary_section_space_schema_member::host(), invariant(), fiber_bundle::section_dof_iterator::is_done(), fiber_bundle::section_dof_iterator::is_initialized(), sheaf::any::is_same_type(), fiber_bundle::section_space_schema_poset::is_schematized(), item(), item_is_ancestor_of(), fiber_bundle::section_dof_iterator::put_anchor(), fiber_bundle::section_dof_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_component::unaliased_version().
Referenced by binary_section_dof_iterator(), and update_item().
|
virtual |
The class invariant.
Reimplemented from fiber_bundle::section_dof_iterator.
Definition at line 190 of file binary_section_dof_iterator.cc.
References sheaf::poset_dof_iterator::_anchor, binary_section_dof_iterator(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), fiber_bundle::section_dof_iterator::invariant(), and sheaf::any::invariant_check().
Referenced by binary_section_dof_iterator(), clone(), initialize(), and operator=().
|
virtual |
True if other conforms to this.
Reimplemented from fiber_bundle::section_dof_iterator.
Definition at line 148 of file binary_section_dof_iterator.cc.
References clone().
Referenced by operator=(), and ~binary_section_dof_iterator().
fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_section_dof_iterator::item | ( | ) |
The the current member of the iteration (mutable version).
Definition at line 305 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::is_initialized().
Referenced by anchor(), binary_section_dof_iterator(), initialize(), operator=(), reset_item(), and update_item().
const fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_section_dof_iterator::item | ( | ) | const |
The the current member of the iteration (const version).
Definition at line 326 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::is_initialized(), and item_is_ancestor_of().
|
virtual |
True if xmbr conforms to the type of item of this.
Reimplemented from fiber_bundle::section_dof_iterator.
Definition at line 348 of file binary_section_dof_iterator.cc.
References reset_item().
Referenced by binary_section_dof_iterator(), initialize(), and item().
|
virtual |
Assignment operator.
Reimplemented from fiber_bundle::section_dof_iterator.
Definition at line 80 of file binary_section_dof_iterator.cc.
References anchor(), sheaf::poset_dof_iterator::anchor(), invariant(), is_ancestor_of(), fiber_bundle::section_dof_iterator::is_done(), fiber_bundle::section_dof_iterator::is_initialized(), sheaf::poset_dof_iterator::is_initialized(), sheaf::any::is_same_type(), item(), and sheaf::poset_dof_iterator::item().
Referenced by binary_section_dof_iterator().
fiber_bundle::binary_section_dof_iterator & fiber_bundle::binary_section_dof_iterator::operator= | ( | const binary_section_dof_iterator & | xother | ) |
Assignment operator.
Definition at line 106 of file binary_section_dof_iterator.cc.
References invariant(), is_ancestor_of(), and ~binary_section_dof_iterator().
|
protectedvirtual |
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be redefined in descendants.
Implements fiber_bundle::section_dof_iterator.
Definition at line 375 of file binary_section_dof_iterator.cc.
References sheaf::poset_dof_iterator::_item, fiber_bundle::section_dof_iterator::is_done(), fiber_bundle::section_dof_iterator::is_initialized(), item(), and update_item().
Referenced by item_is_ancestor_of().
|
protectedvirtual |
Attaches the item handle to the current index, or detaches the item handle if is_done.
Implements fiber_bundle::section_dof_iterator.
Definition at line 407 of file binary_section_dof_iterator.cc.
References fiber_bundle::section_dof_iterator::_discretization_itr, sheaf::poset_dof_iterator::_itr, anchor(), fiber_bundle::binary_section_space_schema_member::attach_to_state(), fiber_bundle::section_space_schema_member::detach_from_state(), sheaf::depth_first_iterator::index(), initialize(), fiber_bundle::section_dof_iterator::is_done(), sheaf::depth_first_iterator::is_done(), fiber_bundle::section_dof_iterator::is_initialized(), and item().
Referenced by reset_item().