20 #include "SheafSystem/subposet_member_iterator.h" 21 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/poset_state_handle.h" 24 #include "SheafSystem/subposet.h" 58 invariance(!
is_done() ?
domain()->contains_member(
this) :
true);
211 require(xdomain != 0);
233 ensure(
domain() == xdomain);
poset_state_handle * host() const
The poset which this is a handle to a component of.
A client handle for a subposet.
index_iterator _itr
Index iterator for characteristic function of domain.
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
~subposet_member_iterator()
Destroys this iterator.
subposet * _domain
Subposet being iterated over.
const scoped_index & index() const
The current item in the subset.
bool is_done() const
True if iteration finished.
void next()
Makes item the next member of the subset.
void next()
Makes this the next member of the subset.
zn_to_bool * _filter
The filter; defined by what it passes, not what it blocks, that is, the iterator will only return mem...
A map from Zn (the integers mod n) to bools. A characteristic function used to represent subsets of Z...
bool invariant() const
The canonical class invariant.
bool is_last() const
True if is_done() will be true after next call to next.
virtual bool is_attached() const
True if this handle is attached to a non-void state.
virtual const subposet & whole() const
The "improper" subset containing all members of this poset.
subposet * domain() const
The subposet being iterated over. Note that only the members also belonging to the domain's host's cu...
zn_to_bool * members() const
The characteristic function for the members of this.
void reset()
Restarts the iteration, makes this the first member of domain() also belonging to domain()'s host()'s...
subposet_member_iterator(const subposet &xsubposet)
Creates an iterator for the members of xsubposet; makes this the first member.
virtual void detach_from_state()
Detach this handle from its state, if any.
bool is_version() const
True if this poset is a version.
virtual bool is_ancestor_of(const any *other) const
True if other conforms to this.
bool is_done() const
True if iteration finished.
void b_and_sa(const zn_to_bool *other)
This AND other, self-allocated.
void attach_to_state(const namespace_poset *xns, const poset_path &xpath, bool xauto_access=true)
Attach to the state specified by path xpath in the namespace xns.
virtual subposet_member_iterator & operator=(const abstract_poset_member &xother)
Assignment operator.
An abstract client handle for a member of a poset.
void reset()
Restarts the iteration, makes item the first member of the subset.
bool _new_filter
True if `this' allocated a new filter.
void initialize_filter()
Initialize the filter.
bool is_last() const
True if iteration finished after next call to next()