20 #include "SheafSystem/binary_section_dof_iterator.h" 22 #include "SheafSystem/binary_section_space_schema_member.h" 23 #include "SheafSystem/binary_section_space_schema_poset.h" 24 #include "SheafSystem/poset_state_handle.h" 25 #include "SheafSystem/assert_contract.h" 26 #include "SheafSystem/discretization_iterator.h" 70 ensure(unexecutable(
this is first member of iteration or
is_done()));
89 (void) section_dof_iterator::operator=(xother);
97 ensure(unexecutable(
this is first member of iteration or
is_done()));
204 invariance(dynamic_cast<binary_section_space_schema_member*>(
_anchor) != 0);
242 ensure(
anchor().is_same_state(&xanchor));
245 ensure(unexecutable(!
is_done() implies
this is first member));
483 ensure(
anchor().is_same_state(&xanchor));
486 ensure(unexecutable(!
is_done() implies
this is first member));
virtual void reset_item()
Creates item if needed and attaches it to the current index. Abstract in this class; intended to be r...
int unaliased_version(int xversion) const
The actual version associated with (possibly aliased) version xversion in this.
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
A client handle for a poset member which has been prepared for use as a schema for a section space...
binary_section_space_schema_poset * host() const
The poset which this is a handle to a component of.
virtual bool invariant() const
The class invariant.
virtual binary_section_dof_iterator & operator=(const poset_dof_iterator &xother)
Assignment operator.
virtual bool is_ancestor_of(const any *other) const
True if other conforms to this.
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
binary_section_space_schema_member & anchor()
The schema member whose downset is being iterated over; the top member of the domain of iteration (mu...
schema_poset_member & item()
The current member of the iteration (mutable version).
virtual bool is_schematized(bool xauto_access) const
True if this poset has been prepared for use as a schema, that is, if the top member has been schemat...
virtual bool is_initialized() const
True if this has been initialized for iteration with respect to a specific anchor.
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
virtual void reset(bool xreset_markers=RESET)
Restarts the iteration over the down set of anchor() If xreset_markers, set !has_visited for all memb...
virtual bool item_is_ancestor_of(const schema_poset_member &xmbr) const
True if xmbr conforms to the type of item of this.
Dperecated. Use postorder_itr. Specialization of the filtered depth-first iterator which exposes the ...
virtual void attach_to_state(pod_index_type xbase_space_id, pod_index_type xfiber_schema_id)
Attach to the state in host() with component ids xbase_id and xfiber_schema_id.
virtual void put_anchor(const schema_poset_member *xanchor, int xversion)
Set anchor() to xversion of *xanchor.
Abstract base class with useful features for all objects.
binary_section_dof_iterator()
Default constructor; creates an unattached iterator. Protected because this class is abstract...
virtual binary_section_dof_iterator * clone() const
Make a new instance of the same type as this.
virtual bool is_done() const
True if iteration finished.
binary_section_space_schema_member & item()
The the current member of the iteration (mutable version).
Iterator over the discretization subposet associated with a section_space_schema_member anchor...
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
virtual bool is_initialized() const
True if this has been initialized for iteration with respect to a specific anchor.
bool is_done() const
True if iteration finished.
virtual void update_item()
Attaches the item handle to the current index, or detaches the item handle if is_done.
schema_poset_member & anchor()
The schema member whose downset is being iterated over; the top member of the domain of iteration (mu...
virtual bool invariant() const
The class invariant.
virtual void detach_from_state()
Detach this handle from its state, if any.
bool invariant_check() const
True if invariant checking is enabled.
Iterates in postorder over dofs of a schema member anchor. Attaches a handle of type schema_poset_mem...
postorder_iterator _itr
The index iterator used to implement the iteration.
bool _is_table_dof
True if iterating over table dofs.
schema_poset_member * _anchor
The schema member whose downset is being iterated over; the top member of the domain of iteration...
depth_first_iterator * _discretization_itr
The discretization iterator.
virtual ~binary_section_dof_iterator()
Destructor.
void initialize(const binary_section_space_schema_member &xanchor, bool xis_table_dof, int xversion)
Initializes the iteration.
schema_poset_member * _item
The member handle for the current item in the iteration.
Namespace for the fiber_bundles component of the sheaf system.
bool is_same_type(const any *other) const
True if other is the same type as this.
void enable_invariant_check() const
Enable invariant checking.
A client handle for a poset member which has been prepared for use as a schema.
bool has_version(int xversion) const
True if xversion is a valid version for this.
const scoped_index & index() const
The index of the current member of the iteration.