26 #ifndef __TERRALIB_GRAPH_INTERNAL_BIDIRECTIONALGRAPHFACTORY_H
27 #define __TERRALIB_GRAPH_INTERNAL_BIDIRECTIONALGRAPHFACTORY_H
30 #include "../core/AbstractGraphFactory.h"
31 #include "../Config.h"
This is the abstract factory for Graphs.
Abstract class used to define the main functions of graph struct. All graph implementations must used...
~BidirectionalGraphFactory()
Destructor.
te::graph::AbstractGraph * build()
Builder Function used to create the class object.
te::graph::AbstractGraph * iOpen(const std::string &dsInfo, const std::map< std::string, std::string > &gInfo)
This method must be re-implemented by subclasses in order to have a finner control for the graph obje...
const std::string & getType() const
Returns the type (name) of this factory.
static void initialize()
It initializes the factory: the singleton instance will be registered in the abstract factory ....
static void finalize()
It finalizes the factory: the singleton instance will be destroyed and will be unregistered from the ...
te::graph::AbstractGraph * create(const std::string &dsInfo, const std::map< std::string, std::string > &gInfo)
This method must be implemented by subclasses (graph types).
BidirectionalGraphFactory()
Constructor.
static BidirectionalGraphFactory * sm_factory
Static instance used to register the factory.
void getCreationalParameters(std::vector< std::pair< std::string, std::string > > ¶ms) const
It returns the list of parameters accepted as graph info.
#define TEGRAPHEXPORT
You can use this macro in order to export/import classes and functions from this module.