Loading...
Searching...
No Matches
SequenceIterator.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file SequenceIterator.h
22
23 \brief This class defines a commun interface to represents a graph
24 iterator class. The main diferency to anothers iterators is
25 the possibility to iterate over the edges or vertexs from a
26 graph.
27
28 The sequency strategy is used to select a group of elements
29 orderly.
30*/
31
32#ifndef __TERRALIB_GRAPH_INTERNAL_SEQUENCEITERATOR_H
33#define __TERRALIB_GRAPH_INTERNAL_SEQUENCEITERATOR_H
34
35// Terralib Includes
36#include "../core/AbstractGraph.h"
37#include "../iterator/AbstractIterator.h"
38#include "../Config.h"
39
40// STL Includes
41#include <vector>
42
43namespace te
44{
45 namespace graph
46 {
47 //forward declarations
48 class Edge;
49 class Vertex;
50
51 /*!
52 \class AbstractIterator
53
54 \brief This class defines a commun interface to represents a graph
55 iterator class. The main diferency to anothers iterators is
56 the possibility to iterate over the edges or vertexs from a
57 graph.
58
59 The sequency strategy is used to select a group of elements
60 orderly.
61
62 \sa AbstractIterator
63 */
64
66 {
67 public:
68
69 /*! \brief Default constructor. */
71
72 /*! \brief Virtual destructor. */
74
75
76 /** @name Vertex Access Methods
77 * Method used to access vertex elements from a graph.
78 */
79 //@{
80
81 /*!
82 \brief It returns a pointer to the first vertex element of a graph
83
84 \return A valid vertex point if the element was found and a null pointer in other case.
85 */
87
88 /*!
89 \brief It returns a pointer to the first edge element of a graph
90
91 \return A valid edge point if the element was found and a null pointer in other case.
92 */
94 };
95
96 } // end namespace graph
97} // end namespace te
98
99#endif // __TERRALIB_GRAPH_INTERNAL_SEQUENCEITERATOR_H
Abstract class used to define the main functions of graph struct. All graph implementations must used...
Definition: AbstractGraph.h:56
This class defines a commun interface to represents a graph iterator class. The main diferency to ano...
Class used to define the edge struct of a graph. Its compose with a identifier, the vertex origin and...
Definition: Edge.h:59
SequenceIterator(te::graph::AbstractGraph *g)
Default constructor.
virtual te::graph::Vertex * getFirstVertex()
It returns a pointer to the first vertex element of a graph.
virtual te::graph::Edge * getFirstEdge()
It returns a pointer to the first edge element of a graph.
virtual ~SequenceIterator()
Virtual destructor.
From the point of view of graph theory, vertices are treated as featureless and indivisible objects,...
Definition: Vertex.h:69
TerraLib.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:178