In file code/C/network.H:
class GNetwork : public GObject
Definition of the network and related functions
Inheritance:
public members:
-
GNetwork()
-
~GNetwork()
-
GNetwork &operator=( GNetwork &input)
- Duplicates the network, nodes, pipes, messages, and queues
void Reset()
- Reset flows to zero, and clear the message queues
int IncreaseFlow(int node, int pipe)
- Increase the flow on the specified pipe and node by 1
int DecreaseFlow(int node, int pipe)
- Decrease the flow on the specified pipe and node by 1
int QueryInputFlow(int node, int pipe)
- Returns the flow on the specified input pipe and node
int QueryOutputFlow(int node, int pipe)
- Returns the flow on the specified output pipe and node
int QueryNumInPipes(int node)
- Returns the number of input pipes on node
int QueryNumOutPipes(int node)
- Returns the number of output pipes on node
int QueryCapacityIn(int node, int pipe)
- Returns the capacity of the specified input pipe and node
int QueryCapacityOut(int node, int pipe)
- Returns the capacity of the specified output pipe and node
int SendMessageOut(int node, int pipe, int msg_id, int msg)
- Sends msg out along output pipe pipe with id msg_id for node
int SendMessageIn(int node, int pipe, int msg_id, int msg)
- Sends msg out along input pipe pipe with id msg_id for node
int RecieveMessageOut(int node, int pipe, int msg_id, int &msg)
- Recieves output message of msg_id type on pipe pipe at node
int RecieveMessageIn(int node, int pipe, int msg_id, int &msg)
- Recieves input message of msg_id type on pipe pipe at node
int AddNode()
- Adds a new node, returns the node number of the new node
int AddPipe(int start, int end, int capacity)
- Adds a new pipe from start to end with capacity capacity
int AddPipe( GPipe *pipe)
- Adds the already defined pipe to the correct nodes
int GetSource()
- Returns the current source
int GetSink()
- Returns the current sink
int SetSource(int node)
- Sets the source
int SetSink(int node)
- Sets the sink
int GetNumNodes()
- Returns the number of nodes in the network
void Print()
- Print out the current network
int CalcMaxFlow()
- Calculate the maximum flow through the network
private members:
-
GArray < GNetNode > nodes
- The nodes contained in the network
GArray < GPipe > pipes
- All of the pipes that are used in this network
int source
- The source of the flow
int sink
- The destination for the flow
int max_flow
- The cached value for the maximum possible flow on the network
public members:
-
friend ostream& operator<<(ostream& s, GObject &)
Documentation
This class encapsulates a complete network. A network is
defined as a collection of nodes with a defined source and sink.
this class has no child classes.
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling