Tulip  5.1.0
Large graphs analysis and drawing
tlp::TemplateAlgorithm< Property > Class Template Reference

#include <TemplateAlgorithm.h>

+ Inheritance diagram for tlp::TemplateAlgorithm< Property >:
+ Collaboration diagram for tlp::TemplateAlgorithm< Property >:

Public Member Functions

 TemplateAlgorithm (const tlp::PluginContext *context)
 
- Public Member Functions inherited from tlp::PropertyAlgorithm
 PropertyAlgorithm (const tlp::PluginContext *context)
 
virtual std::string category () const
 
- Public Member Functions inherited from tlp::Algorithm
 Algorithm (const PluginContext *context)
 
virtual bool check (std::string &)
 
std::string icon () const
 
virtual bool run ()=0
 
- Public Member Functions inherited from tlp::Plugin
virtual std::string author () const =0
 
virtual std::string date () const =0
 
virtual std::string group () const =0
 
virtual int id () const
 
virtual std::string info () const =0
 
virtual std::string major () const
 
virtual std::string minor () const
 
virtual std::string name () const =0
 
virtual std::string programmingLanguage () const
 
virtual std::string release () const =0
 
virtual std::string tulipMajor () const
 
virtual std::string tulipMinor () const
 
virtual std::string tulipRelease () const =0
 
- Public Member Functions inherited from tlp::WithParameter
template<typename T >
void addInOutParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addInParameter (const std::string &name, const std::string &help, const std::string &defaultValue, bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addOutParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true)
 
const tlp::ParameterDescriptionListgetParameters () const
 
bool inputRequired () const
 
- Public Member Functions inherited from tlp::WithDependency
void addDependency (const char *name, const char *release)
 
const std::list< Dependency > & dependencies () const
 

Public Attributes

Property * result
 
- Public Attributes inherited from tlp::Algorithm
DataSetdataSet
 
Graphgraph
 
PluginProgresspluginProgress
 

Additional Inherited Members

- Protected Attributes inherited from tlp::WithDependency
std::list< Dependency_dependencies
 

Detailed Description

template<class Property>
class tlp::TemplateAlgorithm< Property >

The TemplateAlgorithm class describes a plugin that can operate on a single graph's property.

Parameters
PropertyThe property template arguments gives the type of the property the algorithm operates on.

A TemplateAlgorithm takes a graph as input (plus additional parameters defined via tlp::WithParameter) and outputs its results in a tlp::PropertyInterface subclass. The output property is defined as an output parameter named "result" and as a class member called result.

Warning
Subclassing TemplateAlgorithm is not recommended since template specifications are available for every Tulip property types.
See also
tlp::BooleanAlgorithm
tlp::StringAlgorithm
tlp::DoubleAlgorithm
tlp::IntegerAlgorithm
tlp::LayoutAlgorithm
tlp::SizeAlgorithm

Definition at line 63 of file TemplateAlgorithm.h.