32 #ifndef __TERRALIB_GRAPH_INTERNAL_GRAPH_H
33 #define __TERRALIB_GRAPH_INTERNAL_GRAPH_H
36 #include "../core/AbstractGraph.h"
37 #include "../Config.h"
45 namespace dt {
class Property; }
50 class AbstractCachePolicy;
51 class AbstractGraphLoaderStrategy;
53 class GraphDataManager;
115 virtual void add(
Vertex* v);
126 virtual void update(
Vertex* v);
135 virtual void removeVertex(
int id);
164 virtual void removeVertexProperty(
int idx);
182 virtual int getVertexPropertySize();
201 virtual void add(
Edge* e);
212 virtual void update(
Edge* e);
221 virtual void removeEdge(
int id);
248 virtual void removeEdgeProperty(
int idx);
266 virtual int getEdgePropertySize();
286 virtual void flush();
304 #endif // __TERRALIB_GRAPH_INTERNAL_ABSTRACTGRAPH_H
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
GraphMetadata * m_metadata
Graph Data loader strategy.
It models a property definition.
From the point of view of graph theory, vertices are treated as featureless and indivisible objects...
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
This class is used to set the main functions of a cache policy.
GraphCache * m_graphCache
Class used to keep all graph data loaded.
GraphDataManager * m_dataManager
Used to load and save GraphData information from a DataSource.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
This class define the main functions necessary to save and load the graph data and metadata informati...
Class used to manager the graph data elements. This class uses a cache policy to control the elements...
This class define a important struct used to group a map of vertex and edges. A flag is used to indic...
GraphData * m_graphData
This class has the graph data and properties.
This is the main graph implementation, that uses a cache policy anda graph loader to get all elements...