SheafSystem  0.0.0.0
poset_state_handle.h File Reference

Interface for class poset_state_handle. More...

#include "SheafSystem/sheaf_dll_spec.h"
#include "SheafSystem/abstract_poset_member.h"
#include "SheafSystem/pool.h"
#include "SheafSystem/poset_crg_state.h"
#include "SheafSystem/poset_member.h"
#include "SheafSystem/poset_powerset_state.h"
#include "SheafSystem/poset_state.h"
#include "SheafSystem/poset_table_state.h"
#include "SheafSystem/read_write_monitor_handle.h"
#include "SheafSystem/schema_poset_member.h"
#include "SheafSystem/scoped_index.h"
#include "SheafSystem/sheaf.h"
#include "SheafSystem/std_iostream.h"
#include "SheafSystem/std_string.h"
#include "SheafSystem/subposet.h"
#include "SheafSystem/name_multimap.h"

Go to the source code of this file.

Classes

class  sheaf::block< T >
 An auto_block with a no-initialization initialization policy. More...
 
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...
 
class  sheaf::poset_state_handle
 A client handle for a general, abstract partially order set. More...
 

Namespaces

 sheaf
 Namespace for the sheaves component of the sheaf system.
 

Functions

SHEAF_DLL_SPEC std::ostream & sheaf::operator<< (std::ostream &os, const poset_state_handle &p)
 Insert poset_state_handle& p into ostream& os. More...
 
SHEAF_DLL_SPEC size_t sheaf::deep_size (const poset_state_handle &xp, bool xinclude_shallow=true, size_t xresults[4]=0)
 The deep size of the referenced object of type poset_state_handle. if xinclude_shallow, add the sizeof xp to the result. if xresults is not null, the deep size of the poset_state parts returned; xresults[0] is the deep_size of poset_crg_state, xresults[1] is the deep_size of index_space_family, xresults[2] is the deep_size of poset_powerset_state, xresults[3] is the deep_size of poset_table_state. More...
 

Detailed Description

Interface for class poset_state_handle.

Definition in file poset_state_handle.h.