#include <EGTSubGraph.h>
Inheritance diagram for EGTSubGraph< TN >:
Public Types | |
typedef TN::Term | Term |
typedef EGTVector< Term * > | Terms |
typedef TN | Node |
typedef EGTVector< Node * > | Nodes |
typedef Nodes::Iterator | NodesIterator |
typedef Nodes::ConstIterator | NodesConstIterator |
typedef EGTAbstractNode< Term > | Base |
typedef EGTSubGraph< Node > | Self |
Public Methods | |
EGTSubGraph () | |
Creates an empty SubGraph. | |
EGTSubGraph (const Self &, bool) | |
Initializes this SubGraph with the specified SubGraph. | |
EGTSubGraph (const Nodes &, bool) | |
Initializes this SubGraph with the specified array of Nodes. | |
virtual | ~EGTSubGraph () |
Destructor. | |
virtual bool | InitSubGraph (UInt uNumIn, UInt uNumOut, UInt arg=0) |
Initializes this SubGraph having the specific number of input/output Terminals. | |
virtual bool | IsCompatible (const Self &) const |
Checks whether this SubGraph has the compatible cut set with the specified SubGraph. | |
virtual bool | ConnectSubGraph (Self &) |
Connects this SubGraph with the specified SubGraph. | |
virtual void | SaveSubGraph (std::ostream &) const |
Saves the data of this SubGraph. | |
virtual void | Display (std::ostream &) const |
Outputs the data of this SubGraph. | |
void | Release (Nodes *dest) |
Moves all the Nodes to the specified array of Nodes. | |
void | SetOrigin (UInt n) |
UInt | GetNumNodes () const |
Returns the number of Nodes. | |
const Nodes * | GetNodes () const |
Returns the array of Nodes. | |
bool | operator== (const Self &rhs) const |
Checks whether this SubGraph is equal to the specified SubGraph. | |
Static Public Attributes | |
Node * | m_tCreator = 0 |
Protected Types | |
enum | { LOOP_TIMES = 10 } |
Maximum number of iterations for generating SubGraphs. More... | |
enum | { BASE_NODE_SIZE = 5 } |
Initial number of Nodes for generating SubGraphs. More... | |
Protected Methods | |
virtual void | DeepCopy (const Nodes &) |
Initializes this SubGraph. Initializes this SubGraph with a deep copy of the specified array of Nodes. | |
virtual void | RegistTerms () |
Registers input/output Terminals. | |
virtual void | ConnectNodes (UInt uNumIn, UInt uNumOut) |
Adjusts the number of unconnected input/output Terminals according to the specified numbers. | |
Node * | GetNode (UInt uNodeID) |
Returns the Node with specified Node ID number. | |
virtual void | AddNode (Node *, UInt) |
Adds the specified Node to this SubGraph. | |
void | AddNodeNormal (Node *, UInt) |
Adds the specified Node to this SubGraph. | |
void | AddNodeCompleteCircuitForest (Node *, UInt) |
Adds the specified Node to this SubGraph. (for CompleteCircuitForest). | |
void | AssignNodeID () |
Assigns Node ID number to each Node. | |
void | Clear () |
Deletes all the Nodes and Terminals of this SubGraph. | |
void | RemoveInTerm (UInt uTermNum) |
Removes the specified input Terminal. | |
void | RemoveOutTerm (UInt uTermNum) |
Removes the specified output Terminal. | |
void | AddInTerm (Term *pt) |
Adds an input Terminal to this SubGraph. | |
void | AddOutTerm (Term *pt) |
Adds an output Terminal to this SubGraph. | |
bool | IsTermUnconnected (Term *) const |
Checks whether the specified Terminal is unconnected. | |
Protected Attributes | |
Nodes | m_tNodes |
Array of Nodes. | |
bool | m_bOwner |
Ownership of the array of Nodes. |
It is assumed that <TN> is a subclass of EGTNode.
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from EGTAbstractNode< TN::Term >. |
|
Reimplemented from EGTAbstractNode< TN::Term >. |
|
Reimplemented from EGTAbstractNode< TN::Term >. |
|
Maximum number of iterations for generating SubGraphs.
|
|
Initial number of Nodes for generating SubGraphs.
|
|
Creates an empty SubGraph.
|
|
Initializes this SubGraph with the specified SubGraph.
Copies the specified SubGraph.
|
|
Initializes this SubGraph with the specified array of Nodes.
|
|
Destructor.
|
|
Adds an input Terminal to this SubGraph.
|
|
Adds the specified Node to this SubGraph. Adds also the input/output Terminals of the Node to this SubGraph.
|
|
Adds the specified Node to this SubGraph. (for CompleteCircuitForest). Adds also the input/output Terminals of the Node to this SubGraph.
|
|
Adds the specified Node to this SubGraph. Adds also the input/output Terminals of the Node to this SubGraph.
|
|
Adds an output Terminal to this SubGraph.
|
|
Assigns Node ID number to each Node.
|
|
Deletes all the Nodes and Terminals of this SubGraph.
|
|
Adjusts the number of unconnected input/output Terminals according to the specified numbers.
|
|
Connects this SubGraph with the specified SubGraph.
|
|
Initializes this SubGraph. Initializes this SubGraph with a deep copy of the specified array of Nodes.
|
|
Outputs the data of this SubGraph.
Reimplemented from EGTAbstractNode< TN::Term >. |
|
Returns the Node with specified Node ID number.
|
|
Returns the array of Nodes.
|
|
Returns the number of Nodes.
|
|
Initializes this SubGraph having the specific number of input/output Terminals.
|
|
Checks whether this SubGraph has the compatible cut set with the specified SubGraph.
|
|
Checks whether the specified Terminal is unconnected.
|
|
Checks whether this SubGraph is equal to the specified SubGraph.
|
|
Registers input/output Terminals. Registers unconnected Terminals of this SubGraph. |
|
Moves all the Nodes to the specified array of Nodes.
|
|
Removes the specified input Terminal.
|
|
Removes the specified output Terminal.
|
|
Saves the data of this SubGraph.
|
|
|
|
Ownership of the array of Nodes.
|
|
|
|
Array of Nodes.
|