User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - Core - Graphs - GraphBaseC
 

  PUBLIC
GraphBaseC::GraphBaseC(GraphTypeT)
GraphBaseC::GraphBaseC(const GraphBaseC &)
GraphBaseC::InsNode(void)
GraphBaseC::InsEdge(GraphNodeBaseC &,GraphNodeBaseC &)
GraphBaseC::Type(void) const
GraphBaseC::Nodes(void) const
GraphBaseC::Nodes(void)
GraphBaseC::Edges(void) const
GraphBaseC::Edges(void)
GraphBaseC::IsCyclic(void)
GraphBaseC::EdgeIDs(void) const
GraphBaseC::NodeIDs(void) const
RCHandleVC::Save(ostream &) const
RCHandleVC::Save(BinOStreamC &) const
RCHandleVC::Abstract(void)
RCHandleVC::operator >>(istream &,RCHandleVC &)
RCHandleVC::operator >>(BinIStreamC &,RCHandleVC &)
RCHandleC::operator =(const RCHandleC &)
RCHandleC::DeepCopy(UIntT) const
RCHandleC::operator ==(const RCHandleC &) const
RCHandleC::operator !=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsValid(void) const
RCHandleC::Invalidate(void)
RCHandleC::IsHandleType(const DT &) const
RCHandleC::CheckHandleType(const DT &) const
RCHandleC::References(void) const
RCHandleC::operator <<(ostream &,const RCHandleC &)
RCHandleC::operator >>(istream &,RCHandleC &)

   GraphBaseC   
 
Reference counted graph.
 
include "Ravl/GraphBase.hh"
Created:22/8/1994 
User Level:Develop
Library:RavlCore
In Scope:RavlN

Comments:
Use GraphBaseC for all new code.

The class GraphBaseC represents reference counted graph which can be directed or undirected. It contains a collection of nodes and a collection of edges between nodes.

Parent Classes: Derived Classes: Methods:
GraphBaseC(GraphTypeT atype = GRAPH_DIRECTED)
Creates an empty graph, directed or undirected.

GraphBaseC(const GraphBaseC & g)
Creates another access to the graph 'g'. The constructor does not change the content of the graph 'g', but its reference counting. However, the content of the graph 'g' can be changed through the this new access later. Creation of the structure of the graph. ---------------------------------------

GraphNodeBaseC InsNode()
Inserts one node to the graph. Returns the node iterator.

GraphEdgeBaseC InsEdge(GraphNodeBaseC & fromNode,GraphNodeBaseC & toNode)
Inserts one egde to the graph. Returns the edge iterator. Access to the parts of the graph --------------------------------

GraphTypeT Type() const
Returns the type of the graph, if it is directed or undirected.

const IntrDListC<GraphNodeBaseBodyC> & Nodes() const
Returns the constant list of nodes.

IntrDListC<GraphNodeBaseBodyC> & Nodes()
Returns the list of nodes.

const IntrDListC<GraphEdgeBaseBodyC> & Edges() const
Returns the constant list of edges.

IntrDListC<GraphEdgeBaseBodyC> & Edges()
Returns the list of edges.

bool IsCyclic()
Test if a directed graph contains cycles.

UIntT EdgeIDs() const
Return the number of edge ID's issued.

UIntT NodeIDs() const
Return the number of node ID's issued.

#include "Ravl/RCHandleV.hh"
bool Save(ostream & out) const
Save to stream 'out'.

bool Save(BinOStreamC & out) const
Save to binary stream 'out'.

RCAbstractC Abstract()
Create an abstract handle.

istream & operator >>(istream & strm,RCHandleVC<GraphBaseBodyC> & obj)

BinIStreamC & operator >>(BinIStreamC & strm,RCHandleVC<GraphBaseBodyC> & obj)

#include "Ravl/RefCounter.hh"
const RCHandleC<GraphBaseBodyC> & operator =(const RCHandleC<GraphBaseBodyC> & oth)
Assign handle.

RCHandleC<GraphBaseBodyC> DeepCopy(UIntT levels = ((UIntT))) const
Do a deep copy of the object.

bool operator ==(const RCHandleC<GraphBaseBodyC> & oth) const
Are handles to the same object ?

bool operator !=(const RCHandleC<GraphBaseBodyC> & oth) const
Are handles to different objects ?

UIntT Hash() const
Default hash function.
This hashes on the address of the body.

bool IsValid() const
Test if this is a valid handle.

void Invalidate()
Invalidate this handle.
Unattaches the body from the handle.

bool IsHandleType(const DT &) const
Is handle of given type ?

void CheckHandleType(const DT & dummy) const
Check handle type. Throw an expception if not.

UIntT References() const
Find the number of references to the body of this object.

ostream & operator <<(ostream & strm,const RCHandleC<GraphBaseBodyC> & obj)

istream & operator >>(istream & strm,RCHandleC<GraphBaseBodyC> & obj)


Maintainer:Radek Marik, Created: 22/8/1994, Documentation by CxxDoc: Tue Aug 13 09:59:02 2002