29 #ifndef __TERRALIB_GRAPH_INTERNAL_ABSTRACTITERATOR_H
30 #define __TERRALIB_GRAPH_INTERNAL_ABSTRACTITERATOR_H
33 #include "../../dataaccess/dataset/DataSet.h"
34 #include "../core/AbstractGraph.h"
35 #include "../Config.h"
Abstract class used to define the main functions of graph struct. All graph implementations must used...
This class defines a commun interface to represents a graph iterator class. The main diferency to ano...
virtual size_t getEdgeInteratorCount()
It returns the number of elements of this iterator.
virtual ~AbstractIterator()
Virtual destructor.
virtual te::graph::Vertex * getFirstVertex()=0
It returns a pointer to the first vertex element of a graph.
virtual te::graph::Edge * getPreviousEdge()
It returns a pointer to the previous edge element of a graph.
virtual te::graph::Edge * getNextEdge()
It returns a pointer to the next edge element of a graph.
AbstractIterator(te::graph::AbstractGraph *g)
Default constructor.
virtual bool isEdgeIteratorAfterEnd()
Used to check the iterator position.
void listIsolatedVertex(bool flag)
Used to set that the isolated vertex must be listed.
virtual te::graph::Vertex * getNextVertex()
It returns a pointer to the next vertex element of a graph.
std::unique_ptr< te::da::DataSet > m_edgeQuery
Attribute used to keep the edge iterator.
virtual te::graph::Edge * getFirstEdge()=0
It returns a pointer to the first edge element of a graph.
std::unique_ptr< te::da::DataSet > m_vertexQuery
Attribute used to keep the vertex iterator.
te::graph::AbstractGraph * m_graph
Pointer to a abstract graph used to access the elements.
virtual bool isVertexIteratorAfterEnd()
Used to check the iterator position.
virtual te::graph::Vertex * getPreviousVertex()
It returns a pointer to the previous vertex element of a graph.
bool m_listIsolatedVertex
Flag used to indicated that the isolated vertex will be listed.
virtual size_t getVertexInteratorCount()
It returns the number of elements of this iterator.
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.