SheafSystem  0.0.0.0
depth_first_itr.h File Reference

Interface for class depth_first_itr. More...

#include "SheafSystem/sheaf_dll_spec.h"
#include "SheafSystem/any.h"
#include "SheafSystem/std_unordered_set.h"
#include "SheafSystem/poset_state_handle.h"
#include "SheafSystem/std_set.h"
#include "SheafSystem/std_stack.h"
#include "SheafSystem/subposet.h"
#include "SheafSystem/total_poset_member.h"

Go to the source code of this file.

Classes

class  sheaf::depth_first_itr< T >
 The general depth-first iterator over the intersection of a poset member anchor's whole with its down set. Implemented as a finite state machine with a client selectable state transition function that can be chosen to provide various iteration orders.

The iterator returns control to the client so that the it can perform client-defined actions. There are three action types, the PREVISIT_ACTION, the POSTVISIT_ACTION, and the LINK_ACTION, each associated with specific positions in the iteration. The previsit position is immediately before iteration over the cover of the current member begins. The postvisit position is immediately after iteration over the cover ends. The link position is on the current link, immediately after the lesser end of the link has been visited and context has ascended to the current link. The link action thus immediately follows the postvisit action of the lesser member, but the context is different.

This iterator visits every link in the cover relation graph below the anchor of the iteration, maintaining a path to the current member. Conceptually, the path is a list of pointers to lower cover iterators. The current member of each iterator is a node in the path. Physically, the path is stored in two parts. _index is the head of the list. The tail of the list is stored in the variable _path. The current link in the graph is the link between the front of _path and _index, with _index being the lesser member of the link. More...
 

Namespaces

 sheaf
 Namespace for the sheaves component of the sheaf system.
 

Detailed Description

Interface for class depth_first_itr.

Definition in file depth_first_itr.h.