graph 6.0.0
Graph: generic attributed relational graphs
GraphFactory Class Reference

Default abstract factory for graphs. More...

#include <graph/graph/gfactory.h>

Inheritance diagram for GraphFactory:
Collaboration diagram for GraphFactory:

Public Types

typedef carto::GenericObject *(* Generator) (const std::string &)
 
- Public Types inherited from carto::RCObject
typedef int RefCounterType
 

Public Member Functions

 GraphFactory ()
 
virtual ~GraphFactory ()
 
- Public Member Functions inherited from carto::RCObject
 RCObject ()
 
 RCObject (const RCObject &)
 
RCObjectoperator= (const RCObject &)
 
virtual ~RCObject ()
 

Static Public Member Functions

static void registerGenerator (const std::string &syntax, Generator f)
 
static void unregisterGenerator (const std::string &syntax)
 

Protected Member Functions

Factory methods
virtual VertexmakeVertex (const std::string &s)
 Create a Vertex.
 
virtual UEdgemakeUEdge (const std::string &s)
 Create an unitialized UEdge - without vertices.
 
virtual DEdgemakeDEdge (const std::string &s)
 Create an unitialized DEdge - without vertices.
 

Friends

Friends
class Graph
 export makeVertex, makeUEdge and makeDEdge
 
- Friends inherited from carto::RCObject
- Friends inherited from carto::DefaultRefConstruction

Detailed Description

Default abstract factory for graphs.

The Abstract Factory pattern can be found in:

  • Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, Design patterns, pp. 87-95. Addison Wesley, 1995.

Definition at line 71 of file gfactory.h.

Member Typedef Documentation

◆ Generator

typedef carto::GenericObject *(* GraphFactory::Generator) (const std::string &)

Definition at line 78 of file gfactory.h.

Constructor & Destructor Documentation

◆ GraphFactory()

GraphFactory::GraphFactory ( )

Referenced by Graph.

◆ ~GraphFactory()

virtual GraphFactory::~GraphFactory ( )
virtual

Member Function Documentation

◆ makeDEdge()

virtual DEdge * GraphFactory::makeDEdge ( const std::string & s)
protectedvirtual

Create an unitialized DEdge - without vertices.

◆ makeUEdge()

virtual UEdge * GraphFactory::makeUEdge ( const std::string & s)
protectedvirtual

Create an unitialized UEdge - without vertices.

◆ makeVertex()

virtual Vertex * GraphFactory::makeVertex ( const std::string & s)
protectedvirtual

Create a Vertex.

◆ registerGenerator()

static void GraphFactory::registerGenerator ( const std::string & syntax,
Generator f )
static

◆ unregisterGenerator()

static void GraphFactory::unregisterGenerator ( const std::string & syntax)
static

Friends And Related Symbol Documentation

◆ Graph

friend class Graph
friend

export makeVertex, makeUEdge and makeDEdge

Definition at line 112 of file gfactory.h.

References Graph, and GraphFactory().

Referenced by Graph.


The documentation for this class was generated from the following file: