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_component_iterator.h>
Public Member Functions | |
binary_section_component_iterator () | |
Default constructor; creates an unattached iterator. Protected because this class is abstract. More... | |
binary_section_component_iterator (const binary_section_component_iterator &xother) | |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract. More... | |
virtual binary_section_component_iterator & | operator= (const section_component_iterator &xother) |
Assignment operator. More... | |
binary_section_component_iterator & | operator= (const binary_section_component_iterator &xother) |
Assignment operator. More... | |
virtual | ~binary_section_component_iterator () |
Destructor. More... | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
virtual binary_section_component_iterator * | clone () const |
Make a new instance of the same type as this. More... | |
bool | invariant () const |
The class invariant. More... | |
binary_section_component_iterator (const binary_section_space_schema_member &xanchor) | |
Creates an iterator anchored at xanchor. 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. More... | |
const binary_section_space_schema_member & | item () const |
The the current member of the iteration. More... | |
virtual bool | item_is_ancestor_of (const section_space_schema_member &xmbr) const |
True if xmbr conforms to the type of item of this. More... | |
Public Member Functions inherited from fiber_bundle::section_component_iterator | |
section_component_iterator () | |
Default constructor; creates an unattached iterator, with and all-pass filter. More... | |
section_component_iterator (const section_component_iterator &xother) | |
Copy constructor. More... | |
virtual | ~section_component_iterator () |
Destructor. More... | |
bool | invariant () const |
The class invariant. More... | |
section_component_iterator (const section_space_schema_member &xanchor) | |
Creates an iterator anchored at xanchor. More... | |
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... | |
void | put_anchor (const section_space_schema_member *xanchor) |
Sets anchor to member xanchor. More... | |
bool | is_done () const |
True if iteration finished. 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... | |
bool | has_visited (const scoped_index &xid) const |
True if this has already visited id xid. More... | |
virtual bool | has_visited (const section_space_schema_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 visited marker for hub id xhub_id to xvalue. Intended for use reseting iterator without having to reset entire collection of markers. 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... | |
section_space_schema_member & | item () |
The the current member of the iteration (mutable version). More... | |
const section_space_schema_member & | item () const |
The the current member of the iteration (const version). More... | |
virtual const scoped_index & | index () const |
The index of the current member of the iteration. 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... | |
Protected Member Functions inherited from fiber_bundle::section_component_iterator | |
virtual void | reset_anchor (const section_space_schema_member &xanchor) |
Creates anchor if needed and attaches it to xanchor. 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... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Additional Inherited Members | |
Protected Attributes inherited from fiber_bundle::section_component_iterator | |
section_space_schema_member * | _anchor |
The schema member whose downset is being iterated over; the top member of the domain of iteration. More... | |
section_space_schema_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... | |
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_component_iterator.h.
fiber_bundle::binary_section_component_iterator::binary_section_component_iterator | ( | ) |
Default constructor; creates an unattached iterator. Protected because this class is abstract.
Definition at line 29 of file binary_section_component_iterator.cc.
References invariant(), and fiber_bundle::section_component_iterator::is_initialized().
Referenced by clone(), and invariant().
fiber_bundle::binary_section_component_iterator::binary_section_component_iterator | ( | const binary_section_component_iterator & | xother | ) |
Copy constructor; attaches this to the same anchor as xother. Protected because this class is abstract.
Definition at line 51 of file binary_section_component_iterator.cc.
References anchor(), invariant(), fiber_bundle::section_component_iterator::is_done(), fiber_bundle::section_component_iterator::is_initialized(), sheaf::any::is_same_type(), item(), and operator=().
|
virtual |
Destructor.
Definition at line 127 of file binary_section_component_iterator.cc.
References is_ancestor_of().
Referenced by operator=().
|
explicit |
Creates an iterator anchored at xanchor.
Definition at line 221 of file binary_section_component_iterator.cc.
References anchor(), invariant(), fiber_bundle::section_component_iterator::is_done(), fiber_bundle::section_component_iterator::is_initialized(), sheaf::any::is_same_type(), item(), item_is_ancestor_of(), fiber_bundle::section_component_iterator::put_anchor(), fiber_bundle::section_component_iterator::reset(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
const fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_section_component_iterator::anchor | ( | ) | const |
The schema member whose downset is being iterated over; the top member of the domain of iteration.
Definition at line 257 of file binary_section_component_iterator.cc.
References fiber_bundle::section_component_iterator::is_initialized(), and item().
Referenced by binary_section_component_iterator(), and operator=().
|
virtual |
Make a new instance of the same type as this.
Implements fiber_bundle::section_component_iterator.
Definition at line 169 of file binary_section_component_iterator.cc.
References binary_section_component_iterator(), and invariant().
Referenced by is_ancestor_of().
|
virtual |
The class invariant.
Reimplemented from sheaf::any.
Definition at line 191 of file binary_section_component_iterator.cc.
References fiber_bundle::section_component_iterator::_anchor, binary_section_component_iterator(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), fiber_bundle::section_component_iterator::invariant(), and sheaf::any::invariant_check().
Referenced by binary_section_component_iterator(), clone(), and operator=().
|
virtual |
True if other conforms to this.
Reimplemented from fiber_bundle::section_component_iterator.
Definition at line 149 of file binary_section_component_iterator.cc.
References clone().
Referenced by operator=(), and ~binary_section_component_iterator().
const fiber_bundle::binary_section_space_schema_member & fiber_bundle::binary_section_component_iterator::item | ( | ) | const |
The the current member of the iteration.
Definition at line 282 of file binary_section_component_iterator.cc.
References fiber_bundle::section_component_iterator::is_initialized(), and item_is_ancestor_of().
Referenced by anchor(), binary_section_component_iterator(), operator=(), and reset_item().
|
virtual |
True if xmbr conforms to the type of item of this.
Reimplemented from fiber_bundle::section_component_iterator.
Definition at line 305 of file binary_section_component_iterator.cc.
References reset_item().
Referenced by binary_section_component_iterator(), and item().
|
virtual |
Assignment operator.
Reimplemented from fiber_bundle::section_component_iterator.
Definition at line 77 of file binary_section_component_iterator.cc.
References anchor(), fiber_bundle::section_component_iterator::anchor(), invariant(), is_ancestor_of(), fiber_bundle::section_component_iterator::is_done(), fiber_bundle::section_component_iterator::is_initialized(), sheaf::any::is_same_type(), item(), and fiber_bundle::section_component_iterator::item().
Referenced by binary_section_component_iterator().
fiber_bundle::binary_section_component_iterator & fiber_bundle::binary_section_component_iterator::operator= | ( | const binary_section_component_iterator & | xother | ) |
Assignment operator.
Definition at line 104 of file binary_section_component_iterator.cc.
References invariant(), is_ancestor_of(), and ~binary_section_component_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_component_iterator.
Definition at line 333 of file binary_section_component_iterator.cc.
References fiber_bundle::section_component_iterator::_item, fiber_bundle::section_component_iterator::is_done(), fiber_bundle::section_component_iterator::is_initialized(), item(), and fiber_bundle::section_component_iterator::update_item().
Referenced by item_is_ancestor_of().