te::graph::AbstractGraph Class Referenceabstract

Abstract class used to define the main functions of graph struct. All graph implementations must used this class. More...

#include <AbstractGraph.h>

Inheritance diagram for te::graph::AbstractGraph:
te::graph::Graph te::graph::BidirectionalGraph te::graph::DirectedGraph te::graph::UndirectedGraph

Public Member Functions

 AbstractGraph ()
 Default constructor. More...
 
virtual void flush ()=0
 Function used to clear the memory cache, all elements was released from memory, if any element was changes it will be saved. More...
 
virtual te::graph::GraphMetadatagetMetadata ()=0
 Function used to access the graph metadata. More...
 
virtual ~AbstractGraph ()
 Virtual destructor. More...
 
Vertex Access Methods

Method used to access vertex elements from a graph.

virtual void add (Vertex *v)=0
 Add a new vertex element to a graph. More...
 
virtual void update (Vertex *v)=0
 Update the vertex element. More...
 
virtual void removeVertex (int id)=0
 This function removes the vertex element from graph, also was removed in data source. More...
 
virtual te::graph::VertexgetVertex (int id)=0
 It returns the vertex element if it's exist. More...
 
virtual void addVertexProperty (te::dt::Property *p)=0
 Add a new property associated to the vertex element. More...
 
virtual void removeVertexProperty (int idx)=0
 Remove a property associated to the vertex element. More...
 
virtual te::dt::PropertygetVertexProperty (int idx)=0
 Get a vertex property given a index. More...
 
virtual int getVertexPropertySize ()=0
 Used to verify the number of properties associated to vertex elements. More...
 
Edge Access Methods

Method used to access edge elements from a graph.

virtual void add (Edge *e)=0
 Add a new edge element to a graph. More...
 
virtual void update (Edge *e)=0
 Update the edge element. More...
 
virtual void removeEdge (int id)=0
 This function removes the edge element from graph, also was removed in data source. More...
 
virtual te::graph::EdgegetEdge (int id)=0
 It returns the edge element if it's exist. More...
 
virtual void addEdgeProperty (te::dt::Property *p)=0
 Add a new property associated to the edge element. More...
 
virtual void removeEdgeProperty (int idx)=0
 Remove a property associated to the edge element. More...
 
virtual te::dt::PropertygetEdgeProperty (int idx)=0
 Get a edge property given a index. More...
 
virtual int getEdgePropertySize ()=0
 Used to verify the number of properties associated to edge elements. More...
 

Detailed Description

Abstract class used to define the main functions of graph struct. All graph implementations must used this class.

Definition at line 55 of file AbstractGraph.h.

Constructor & Destructor Documentation

te::graph::AbstractGraph::AbstractGraph ( )

Default constructor.

virtual te::graph::AbstractGraph::~AbstractGraph ( )
virtual

Virtual destructor.

Member Function Documentation

virtual void te::graph::AbstractGraph::add ( Vertex v)
pure virtual

Add a new vertex element to a graph.

Parameters
vVertex element
Note
This function turns the dirty flag of current GraphData to true, the new flag of the vertex turns to true.

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::add ( Edge e)
pure virtual

Add a new edge element to a graph.

Parameters
eEdge element
Note
This function turns the dirty flag of current GraphData to true, the new flag of the edge turns to true.

Implemented in te::graph::Graph, te::graph::BidirectionalGraph, te::graph::UndirectedGraph, and te::graph::DirectedGraph.

virtual void te::graph::AbstractGraph::addEdgeProperty ( te::dt::Property p)
pure virtual

Add a new property associated to the edge element.

param p New property to be associated with edge elements.

Note
It's important before using this function call the flush() function, its necessary to force the memory clear and the elements will be loaded with the right size of properties.

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::addVertexProperty ( te::dt::Property p)
pure virtual

Add a new property associated to the vertex element.

param p New property to be associated with vertex elements.

Note
It's important before using this function call the flush() function, its necessary to force the memory clear and the elements will be loaded with the right size of properties.

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::flush ( )
pure virtual

Function used to clear the memory cache, all elements was released from memory, if any element was changes it will be saved.

Returns

Implemented in te::graph::Graph.

virtual te::graph::Edge* te::graph::AbstractGraph::getEdge ( int  id)
pure virtual

It returns the edge element if it's exist.

Parameters
idVertex identification
Returns
A valid vertex point if the element was found and a null pointer in other case.

Implemented in te::graph::Graph.

virtual te::dt::Property* te::graph::AbstractGraph::getEdgeProperty ( int  idx)
pure virtual

Get a edge property given a index.

Parameters
idxIndex of the property
Returns
A property associated to the edge element if the index is right and a null pointer in other case.

Implemented in te::graph::Graph.

virtual int te::graph::AbstractGraph::getEdgePropertySize ( )
pure virtual

Used to verify the number of properties associated to edge elements.

Returns
Integer value with the number of properties.

Implemented in te::graph::Graph.

virtual te::graph::GraphMetadata* te::graph::AbstractGraph::getMetadata ( )
pure virtual

Function used to access the graph metadata.

Returns
A pointer to a class that defines the graph metadata

Implemented in te::graph::Graph.

virtual te::graph::Vertex* te::graph::AbstractGraph::getVertex ( int  id)
pure virtual

It returns the vertex element if it's exist.

Parameters
idVertex identification
Returns
A valid vertex point if the element was found and a null pointer in other case.

Implemented in te::graph::Graph.

virtual te::dt::Property* te::graph::AbstractGraph::getVertexProperty ( int  idx)
pure virtual

Get a vertex property given a index.

Parameters
idxIndex of the property
Returns
A property associated to the vertex element if the index is right and a null pointer in other case.

Implemented in te::graph::Graph.

virtual int te::graph::AbstractGraph::getVertexPropertySize ( )
pure virtual

Used to verify the number of properties associated to vertex elements.

Returns
Integer value with the number of properties.

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::removeEdge ( int  id)
pure virtual

This function removes the edge element from graph, also was removed in data source.

Parameters
idEdge identification

Implemented in te::graph::Graph, te::graph::BidirectionalGraph, te::graph::UndirectedGraph, and te::graph::DirectedGraph.

virtual void te::graph::AbstractGraph::removeEdgeProperty ( int  idx)
pure virtual

Remove a property associated to the edge element.

Parameters
idxIndex of the property

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::removeVertex ( int  id)
pure virtual

This function removes the vertex element from graph, also was removed in data source.

Parameters
idVertex identification

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::removeVertexProperty ( int  idx)
pure virtual

Remove a property associated to the vertex element.

Parameters
idxIndex of the property

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::update ( Vertex v)
pure virtual

Update the vertex element.

Parameters
vVertex element
Note
This function turns the dirty flag of current GraphData to true and also the dirty flag of the vertex.

Implemented in te::graph::Graph.

virtual void te::graph::AbstractGraph::update ( Edge e)
pure virtual

Update the edge element.

Parameters
eEdge element
Note
This function turns the dirty flag of current GraphData to true and also the dirty flag of the edge.

Implemented in te::graph::Graph.


The documentation for this class was generated from the following file: