27 #ifndef __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
28 #define __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
31 #include "../Config.h"
38 namespace dt {
class Property; }
It models a property definition.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
virtual te::dt::Property * getEdgeProperty(int idx)=0
Get a edge property given a index.
virtual void addVertexProperty(te::dt::Property *p)=0
Add a new property associated to the vertex element.
virtual void update(Edge *e)=0
Update the edge element.
virtual void update(Vertex *v)=0
Update the vertex element.
virtual void removeEdge(int id)=0
This function removes the edge element from graph, also was removed in data source.
virtual void removeVertexProperty(int idx)=0
Remove a property associated to the vertex element.
virtual te::graph::GraphMetadata * getMetadata()=0
Function used to access the graph metadata.
virtual te::dt::Property * getVertexProperty(int idx)=0
Get a vertex property given a index.
AbstractGraph()
Default constructor.
virtual void removeEdgeProperty(int idx)=0
Remove a property associated to the edge element.
virtual te::graph::Vertex * getVertex(int id)=0
It returns the vertex element if it's exist.
virtual ~AbstractGraph()
Virtual destructor.
virtual int getVertexPropertySize()=0
Used to verify the number of properties associated to vertex elements.
virtual te::graph::Edge * getEdge(int id)=0
It returns the edge element if it's exist.
virtual void removeVertex(int id)=0
This function removes the vertex element from graph, also was removed in data source.
virtual void add(Edge *e)=0
Add a new edge element to a graph.
virtual void flush()=0
Function used to clear the memory cache, all elements was released from memory, if any element was ch...
virtual int getEdgePropertySize()=0
Used to verify the number of properties associated to edge elements.
virtual void add(Vertex *v)=0
Add a new vertex element to a graph.
virtual void addEdgeProperty(te::dt::Property *p)=0
Add a new property associated to the edge element.
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
From the point of view of graph theory, vertices are treated as featureless and indivisible objects,...
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.