SheafSystem
0.0.0.0
|
#include <filtered_depth_first_iterator.h>
Public Member Functions | |
filtered_depth_first_iterator () | |
Default constructor; creates an unattached iterator, with and all-pass filter. More... | |
filtered_depth_first_iterator (const filtered_depth_first_iterator &xother) | |
Copy constructor. More... | |
filtered_depth_first_iterator & | operator= (const filtered_depth_first_iterator &xother) |
Assignment operator. More... | |
~filtered_depth_first_iterator () | |
Destructor. More... | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
virtual filtered_depth_first_iterator * | clone () const |
Make a new instance of the same type as this. More... | |
bool | invariant () const |
The class invariant. More... | |
filtered_depth_first_iterator (const abstract_poset_member &xanchor, bool xdown, bool xstrict, order_type xorder) | |
Creates an iterator anchored at xanchor, with no filter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More... | |
filtered_depth_first_iterator (const abstract_poset_member &xanchor, const subposet &xfilter, bool xdown, bool xstrict, order_type xorder) | |
Creates an iterator anchored at xanchor, filtered by xfilter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More... | |
filtered_depth_first_iterator (const abstract_poset_member &xanchor, pod_index_type xfilter_index, bool xdown, bool xstrict, order_type xorder) | |
Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More... | |
filtered_depth_first_iterator (const abstract_poset_member &xanchor, const scoped_index &xfilter_index, bool xdown, bool xstrict, order_type xorder) | |
Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More... | |
filtered_depth_first_iterator (const abstract_poset_member &xanchor, const std::string &xfilter_name, bool xdown, bool xstrict, order_type xorder) | |
Creates an iterator anchored at xanchor, filtered by xfilter_name. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More... | |
virtual void | put_anchor (const abstract_poset_member *xanchor) |
Set anchor() to xanchor. More... | |
virtual void | put_anchor (pod_index_type xanchor_index) |
Set anchor() to member identified by xanchor_index. More... | |
void | put_anchor (const scoped_index &xanchor_index) |
Set anchor() to member identified by xanchor_index. More... | |
void | put_descending (bool xdescending) |
Set descending() to xdescending. More... | |
void | put_strict (bool xstrict) |
Set strict() to xstrict. More... | |
void | put_filter (const subposet &xfilter) |
Sets the subposet which is the filter. More... | |
void | put_filter (const std::string &xfilter_name) |
Sets the subposet which is the filter. More... | |
void | put_filter (pod_index_type xfilter_index) |
Sets the subposet which is the filter. More... | |
void | put_filter (const scoped_index &xfilter_index) |
Sets the subposet which is the filter. More... | |
Public Member Functions inherited from sheaf::depth_first_iterator | |
depth_first_iterator & | operator= (const depth_first_iterator &xother) |
Assignment operator. More... | |
virtual | ~depth_first_iterator () |
Destructor. More... | |
order_type | order () const |
The order of the iteration. Determines which actions are exported to the client. More... | |
virtual bool | is_initialized () const |
True if this has been initialized for iteration with respect to a specific anchor. More... | |
virtual abstract_poset_member & | anchor () |
The poset member whose downset is being iterated over; the top member of the domain of iteration (mutable version). More... | |
virtual const abstract_poset_member & | anchor () const |
The poset member whose downset is being iterated over; the top member of the domain of iteration (const version). More... | |
virtual bool | anchor_is_ancestor_of (const abstract_poset_member &xmbr) const |
True if xmbr conforms to the type of anchor of this. More... | |
bool | descending () const |
True if iterating over down set of anchor. More... | |
bool | strict () const |
True if iterating over xstrict up/down set of anchor. More... | |
subposet & | filter () |
The subposet which is the filter; Defines what is passed, not what is blocked. More... | |
bool | is_done () const |
True if iteration finished. More... | |
virtual void | force_is_done () |
Force the iterator to be done. More... | |
void | next () |
Makes this the next member of the subset. More... | |
void | truncate () |
Makes this the next member of the subset which is not less than old this, i.e. the depth-first descent is truncated and the cover of this is not visited. More... | |
virtual void | next (bool xtruncate) |
Makes this the next member of the subset. If action() == PREVISIT_ACTION and xtruncate, new this is not less than old this, i.e. the depth-first descent is truncated and the cover of this is not visited. If action() != PREVISIT_ACTION, xtruncate is ignored. More... | |
virtual void | reset (bool xreset_markers=true) |
Restarts the iteration over the down set of anchor(). More... | |
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... | |
bool | has_visited (pod_index_type xhub_id) const |
True if this has already visited member with hub id xhub_id. More... | |
bool | has_visited (const scoped_index &xid) const |
True if this has already visited member with id xid. More... | |
bool | has_visited (const abstract_poset_member *xmbr) const |
True if this has already visited member xmbr. More... | |
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... | |
bool | visit_once () const |
True if traversal should only visit a member once; that is, it should not revisit members it has already visited. More... | |
void | put_visit_once (bool xvisit_once) |
Set visit_once() to xvisit_once. More... | |
bool | is_maximal () const |
True if the current member has no greater member within the subposet visited by this iterator. More... | |
const scoped_index & | greater_index () const |
The index of the greater member of the current link. More... | |
const scoped_index & | lesser_index () const |
The index of the lesser member of the current link. More... | |
action_type | action () const |
The type of action the client should take when the iterator returns control to the client. More... | |
void | erase_cover () |
Schedules the lesser member entry in the cover of the greater member of the current link for deletion on the next call to next(). Warning: this function can change the state of the the cover relation graph in unpredictable ways. Use only if you know what you are doing. More... | |
const scoped_index & | index () const |
The index of the current member of the iteration. More... | |
size_t | depth () const |
The length of the path from anchor() to the current member. 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... | |
Additional Inherited Members | |
Public Types inherited from sheaf::depth_first_iterator | |
enum | order_type { PREORDER, POSTORDER, LINKORDER, BIORDER, TRIORDER, NOT_AN_ORDER } |
The types of order in which the iterator will visit the members of the poset. Determines which actions are exported to the client. More... | |
enum | action_type { PREVISIT_ACTION, LINK_ACTION, POSTVISIT_ACTION, NOT_AN_ACTION } |
The types of action a client should take when the iterator returns control to the client. More... | |
Static Public Attributes inherited from sheaf::depth_first_iterator | |
static const char * | NULL_FILTER = "" |
Placeholder for null filter. More... | |
Protected Types inherited from sheaf::depth_first_iterator | |
enum | iterator_state { FIRST, INIT_COVER_ITERATOR, TEST_HAS_VISITED, INC_COVER_ITERATOR, ERASE_COVER_ITERATOR, DESCEND, TEST_PATH_TAIL, ASCEND, EXECUTE_PREVISIT_ACTION, EXECUTE_LINK_ACTION, EXECUTE_POSTVISIT_ACTION, FINISH, NOT_A_STATE } |
The states for the finite state machine that controls iteration. More... | |
enum | iterator_token { PASS, FAIL } |
The input tokens for the finite state machine. More... | |
typedef const iterator_state(* | transition_fcn_type)[FAIL+1] |
Protected Member Functions inherited from sheaf::depth_first_iterator | |
depth_first_iterator () | |
Default constructor; creates an unattached iterator,. More... | |
depth_first_iterator (const depth_first_iterator &xother) | |
Copy constructor. More... | |
void | first () |
Moves this to the first member of the iteration. More... | |
void | mark_visited (abstract_poset_member *xmbr) |
Mark xmbr as visited. Warning: this function can change the state of the iteration in unpredictable ways. Use only if you know what you are doing. More... | |
void | mark_not_visited (abstract_poset_member *xmbr) |
Mark xmbr as not visited. Warning: this function can change the state of the iteration in unpredictable ways. Use only if you know what you are doing. More... | |
virtual void | attach_item () |
Attaches the item handle to the current index. Empty in this class; intended for redefinition in descendants. More... | |
virtual void | detach_item () |
Detaches the item handle to the current index. Empty in this class; intended for redefinition in descendants. More... | |
void | initialize_order (order_type xorder) |
Initializes _order and _transition_fcn. More... | |
void | initialize_traversal (const abstract_poset_member &xanchor) |
Initializes the anchor, has_visited markers and filter. More... | |
void | initialize_traversal (pod_index_type xanchor_hub_id) |
Initializes the anchor, has_visited markers and filter. More... | |
void | initialize_traversal (const scoped_index &xanchor_id) |
Initializes the anchor, has_visited markers and filter. More... | |
void | initialize_anchor (const abstract_poset_member &xanchor) |
Initializes the anchor. More... | |
virtual void | initialize_has_visited (const abstract_poset_member &xanchor) |
Initializes the has_visited markers. More... | |
zn_to_bool * | has_visited () const |
The marker bit vector. /. More... | |
void | put_has_visited (zn_to_bool *xhas_visited) |
Sets _has_visited to xhas_visited. /. More... | |
bool | filter (pod_index_type xhub_id) const |
The value of the filter at hub id xhub_id. More... | |
bool | filter (const scoped_index &xid) const |
The value of the filter at id xid. More... | |
void | initialize_filter () |
Initializes the filter subposet from the client filter. More... | |
void | initialize_filter (const subposet &xfilter) |
Initializes the client filter to xfilter then initializes the filter from the client filter. More... | |
void | initialize_filter (pod_index_type xfilter_hub_id) |
Initializes the client filter to the subposet with hub id xfilter_hub_id then initializes the filter from the client filter. More... | |
void | initialize_filter (const scoped_index &xfilter_id) |
Initializes the client filter to the subposet with id xfilter_id then initializes the filter from the client filter. More... | |
void | initialize_filter (const std::string &xfilter_name) |
Initializes the client filter to the subposet with name xfilter_name then initializes the filter from the client filter. More... | |
void | release_cover_id_space_iterators () |
Release the cover iterators back to the pool of iterators. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::depth_first_iterator | |
abstract_poset_member * | _anchor |
The top member of the down set being iterated over. More... | |
action_type | _action |
The type of action the client should take; the state of the iterator. More... | |
scoped_index | _index |
The index of the lesser end of the current link; the current item in the iteration. More... | |
scoped_index | _greater_index |
The index of the greater member of the current link. More... | |
scoped_index | _lesser_index |
The index of the lesser member of the current link. More... | |
subposet | _client_filter |
The filter specified by the client. More... | |
bool | _new_filter |
True if this allocated a new filter;. More... | |
bool | _descending |
True if iterating over the up/down set of anchor. More... | |
bool | _strict |
True if iterating over the strict up/down set of anchor. More... | |
order_type | _order |
The order of the iteration. More... | |
const iterator_state(* | _transition_fcn )[FAIL+1] |
The current state transition function for the iterator finite state machine. Points to one of the predefined transition functions. More... | |
iterator_state | _state |
The current state of iteration. More... | |
index_space_iterator * | _path_head_lc |
The lower cover iterator for the head of the path to the current member of the iteration. More... | |
index_space_iterator * | _path_head |
The head of the path to the current member of the iteration lesser_index() == this->index() == **_path_head == lesser member of current link. More... | |
std::stack< index_space_iterator * > | _path_tail |
The tail of the path to the current member of the iteration greater_index() == **(_path_tail.top()) == greater member of current link. More... | |
std::stack< pod_index_type > | _filtered_path_tail |
The tail of the filtered path to the current member of the iteration. Contains only members which pass the filter; equivalent to the path in the subposet selected by the filter. More... | |
bool | _visit_once |
True if traversal should only visit a member once; that is, it should not revisit members it has already visited. More... | |
Static Protected Attributes inherited from sheaf::depth_first_iterator | |
static const char * | iterator_state_names [NOT_A_STATE+1] |
The names of the iterator states, convenient for debugging. More... | |
static const iterator_state | PREORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1] |
The predefined transition function for postorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More... | |
static const iterator_state | POSTORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1] |
The predefined transition function for postorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More... | |
static const iterator_state | LINKORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1] |
The predefined transition function for linkorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More... | |
static const iterator_state | BIORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1] |
The predefined transition function for biorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More... | |
static const iterator_state | TRIORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1] |
The predefined transition function for triorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More... | |
static const transition_fcn_type | STD_TRANSITION_FCNS [NOT_AN_ORDER+1] |
The set of predefined transition functions. More... | |
Definition at line 76 of file filtered_depth_first_iterator.h.
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | ) |
Default constructor; creates an unattached iterator, with and all-pass filter.
Definition at line 30 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::descending(), invariant(), sheaf::depth_first_iterator::is_initialized(), sheaf::depth_first_iterator::order(), sheaf::depth_first_iterator::strict(), and sheaf::depth_first_iterator::visit_once().
Referenced by clone(), filtered_depth_first_iterator(), and invariant().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const filtered_depth_first_iterator & | xother | ) |
Copy constructor.
Definition at line 52 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::first(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), operator=(), sheaf::depth_first_iterator::order(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), and sheaf::depth_first_iterator::visit_once().
sheaf::filtered_depth_first_iterator::~filtered_depth_first_iterator | ( | ) |
Destructor.
Definition at line 111 of file filtered_depth_first_iterator.cc.
References is_ancestor_of().
Referenced by operator=().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const abstract_poset_member & | xanchor, |
bool | xdown, | ||
bool | xstrict, | ||
order_type | xorder | ||
) |
Creates an iterator anchored at xanchor, with no filter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only.
Definition at line 202 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_anchor, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_new_filter, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), filtered_depth_first_iterator(), sheaf::depth_first_iterator::first(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_order(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), put_anchor(), put_filter(), sheaf::depth_first_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), sheaf::poset_component::version_index(), and sheaf::depth_first_iterator::visit_once().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const abstract_poset_member & | xanchor, |
const subposet & | xfilter, | ||
bool | xdown, | ||
bool | xstrict, | ||
order_type | xorder | ||
) |
Creates an iterator anchored at xanchor, filtered by xfilter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only.
Definition at line 248 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_anchor, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_new_filter, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), filtered_depth_first_iterator(), sheaf::depth_first_iterator::first(), sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_order(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), put_anchor(), put_filter(), sheaf::depth_first_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), and sheaf::depth_first_iterator::visit_once().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const abstract_poset_member & | xanchor, |
pod_index_type | xfilter_index, | ||
bool | xdown, | ||
bool | xstrict, | ||
order_type | xorder | ||
) |
Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only.
Definition at line 296 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_anchor, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_new_filter, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::filter(), filtered_depth_first_iterator(), sheaf::depth_first_iterator::first(), sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_order(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), put_anchor(), put_filter(), sheaf::depth_first_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), and sheaf::depth_first_iterator::visit_once().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const abstract_poset_member & | xanchor, |
const scoped_index & | xfilter_index, | ||
bool | xdown, | ||
bool | xstrict, | ||
order_type | xorder | ||
) |
Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only.
Definition at line 343 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_anchor, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_new_filter, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::filter(), filtered_depth_first_iterator(), sheaf::depth_first_iterator::first(), sheaf::poset_component::host(), sheaf::scoped_index::hub_pod(), sheaf::poset_state_handle::includes_subposet(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_order(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), put_anchor(), put_filter(), sheaf::depth_first_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), and sheaf::depth_first_iterator::visit_once().
sheaf::filtered_depth_first_iterator::filtered_depth_first_iterator | ( | const abstract_poset_member & | xanchor, |
const std::string & | xfilter_name, | ||
bool | xdown, | ||
bool | xstrict, | ||
order_type | xorder | ||
) |
Creates an iterator anchored at xanchor, filtered by xfilter_name. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only.
Definition at line 391 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_anchor, sheaf::depth_first_iterator::_client_filter, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_new_filter, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::first(), sheaf::subposet::has_name(), sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_order(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), put_anchor(), put_filter(), sheaf::depth_first_iterator::reset(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), and sheaf::depth_first_iterator::visit_once().
|
virtual |
Make a new instance of the same type as this.
Reimplemented from sheaf::depth_first_iterator.
Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, tool::visualization_iterator_4_2, tool::visualization_iterator, sheaf::triorder_iterator, sheaf::linkorder_iterator, sheaf::postorder_iterator, sheaf::preorder_iterator, and sheaf::biorder_iterator.
Definition at line 145 of file filtered_depth_first_iterator.cc.
References filtered_depth_first_iterator(), invariant(), and sheaf::depth_first_iterator::is_initialized().
Referenced by sheaf::filtered_depth_first_member_iterator::filtered_depth_first_member_iterator(), is_ancestor_of(), and sheaf::filtered_depth_first_member_iterator::operator=().
|
virtual |
The class invariant.
Reimplemented from sheaf::depth_first_iterator.
Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, tool::visualization_iterator_4_2, tool::visualization_iterator, sheaf::triorder_iterator, sheaf::linkorder_iterator, sheaf::postorder_iterator, and sheaf::preorder_iterator.
Definition at line 167 of file filtered_depth_first_iterator.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), filtered_depth_first_iterator(), sheaf::depth_first_iterator::invariant(), and sheaf::any::invariant_check().
Referenced by clone(), filtered_depth_first_iterator(), sheaf::biorder_iterator::invariant(), sheaf::postorder_iterator::invariant(), sheaf::preorder_iterator::invariant(), sheaf::linkorder_iterator::invariant(), sheaf::triorder_iterator::invariant(), tool::visualization_iterator::invariant(), operator=(), put_anchor(), and put_filter().
|
virtual |
True if other conforms to this.
Reimplemented from sheaf::depth_first_iterator.
Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, tool::visualization_iterator_4_2, tool::visualization_iterator, sheaf::triorder_iterator, sheaf::linkorder_iterator, sheaf::postorder_iterator, sheaf::preorder_iterator, and sheaf::biorder_iterator.
Definition at line 126 of file filtered_depth_first_iterator.cc.
References clone().
Referenced by ~filtered_depth_first_iterator().
sheaf::filtered_depth_first_iterator & sheaf::filtered_depth_first_iterator::operator= | ( | const filtered_depth_first_iterator & | xother | ) |
Assignment operator.
Definition at line 82 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::first(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::depth_first_iterator::operator=(), sheaf::depth_first_iterator::order(), sheaf::depth_first_iterator::strict(), sheaf::poset_component::version(), sheaf::depth_first_iterator::visit_once(), and ~filtered_depth_first_iterator().
Referenced by filtered_depth_first_iterator().
|
virtual |
Set anchor() to xanchor.
Definition at line 450 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::anchor_is_ancestor_of(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::force_is_done(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_traversal(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), sheaf::any::is_same_type(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), and sheaf::poset_component::version().
Referenced by fiber_bundle::base_space_member::c_minus(), sheaf::subposet::extremals_pa(), filtered_depth_first_iterator(), fiber_bundle::section_dof_iterator::put_anchor(), sheaf::filtered_depth_first_member_iterator::put_anchor(), and put_anchor().
|
virtual |
Set anchor() to member identified by xanchor_index.
Definition at line 490 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::force_is_done(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_traversal(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), put_anchor(), and sheaf::depth_first_iterator::strict().
void sheaf::filtered_depth_first_iterator::put_anchor | ( | const scoped_index & | xanchor_index | ) |
Set anchor() to member identified by xanchor_index.
Definition at line 531 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::scoped_index::hub_pod(), sheaf::depth_first_iterator::index(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), put_anchor(), put_descending(), and sheaf::depth_first_iterator::strict().
void sheaf::filtered_depth_first_iterator::put_descending | ( | bool | xdescending | ) |
Set descending() to xdescending.
Definition at line 565 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::descending(), and put_strict().
Referenced by put_anchor(), and sheaf::filtered_depth_first_member_iterator::put_descending().
void sheaf::filtered_depth_first_iterator::put_filter | ( | const subposet & | xfilter | ) |
Sets the subposet which is the filter.
Definition at line 603 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::force_is_done(), sheaf::depth_first_iterator::initialize_filter(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), and sheaf::depth_first_iterator::strict().
Referenced by filtered_depth_first_iterator(), sheaf::filtered_depth_first_member_iterator::put_filter(), put_filter(), and put_strict().
void sheaf::filtered_depth_first_iterator::put_filter | ( | const std::string & | xfilter_name | ) |
Sets the subposet which is the filter.
Definition at line 640 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_client_filter, sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::force_is_done(), sheaf::subposet::has_name(), sheaf::poset_component::host(), sheaf::poset_state_handle::includes_subposet(), sheaf::depth_first_iterator::initialize_filter(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), put_filter(), and sheaf::depth_first_iterator::strict().
void sheaf::filtered_depth_first_iterator::put_filter | ( | pod_index_type | xfilter_index | ) |
Sets the subposet which is the filter.
Definition at line 682 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::depth_first_iterator::force_is_done(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_filter(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), put_filter(), and sheaf::depth_first_iterator::strict().
void sheaf::filtered_depth_first_iterator::put_filter | ( | const scoped_index & | xfilter_index | ) |
Sets the subposet which is the filter.
Definition at line 719 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::scoped_index::hub_pod(), sheaf::depth_first_iterator::index(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::depth_first_iterator::is_initialized(), put_filter(), and sheaf::depth_first_iterator::strict().
void sheaf::filtered_depth_first_iterator::put_strict | ( | bool | xstrict | ) |
Set strict() to xstrict.
Definition at line 584 of file filtered_depth_first_iterator.cc.
References sheaf::depth_first_iterator::_strict, put_filter(), and sheaf::depth_first_iterator::strict().
Referenced by sheaf::subposet::extremals_pa(), put_descending(), and sheaf::filtered_depth_first_member_iterator::put_strict().