Reference

tlp_AbstractProperty(3tulip)

NAME

tlp::AbstractProperty -

SYNOPSIS

#include <AbstractProperty.h>

Inherits tlp::PropertyInterface.

Public Member Functions

AbstractProperty (Graph *)
Tnode::RealType getNodeDefaultValue ()
Tedge::RealType getEdgeDefaultValue ()
ReturnType< typename Tnode::RealType >::Value getNodeValue (const node n)
ReturnType< typename Tedge::RealType >::Value getEdgeValue (const edge e)
void setNodeValue (const node n, const typename Tnode::RealType &v)
void setEdgeValue (const edge e, const typename Tedge::RealType &v)
void setAllNodeValue (const typename Tnode::RealType &v)
void setAllEdgeValue (const typename Tedge::RealType &v)
virtual void erase (const node n)
virtual void erase (const edge e)
virtual AbstractProperty< Tnode, Tedge, TPROPERTY > & operator= (AbstractProperty< Tnode, Tedge, TPROPERTY > &prop)
bool compute (const std::string &algorithm, std::string &msg, const PropertyContext &)
virtual std::string getTypename ()
virtual std::string getNodeDefaultStringValue ()
virtual std::string getEdgeDefaultStringValue ()
virtual std::string getNodeStringValue (const node n)
virtual std::string getEdgeStringValue (const edge e)
virtual bool setNodeStringValue (const node n, const std::string &v)
virtual bool setEdgeStringValue (const edge e, const std::string &v)
virtual bool setAllNodeStringValue (const std::string &v)
virtual bool setAllEdgeStringValue (const std::string &v)
virtual Iterator< node > * getNonDefaultValuatedNodes ()
virtual Iterator< edge > * getNonDefaultValuatedEdges ()
virtual DataMem * getNodeDefaultDataMemValue ()
virtual DataMem * getEdgeDefaultDataMemValue ()
virtual DataMem * getNodeDataMemValue (const node n)
virtual DataMem * getEdgeDataMemValue (const edge e)
virtual DataMem * getNonDefaultDataMemValue (const node n)
virtual DataMem * getNonDefaultDataMemValue (const edge e)
virtual void setNodeDataMemValue (const node n, const DataMem *v)
virtual void setEdgeDataMemValue (const edge e, const DataMem *v)
virtual void setAllNodeDataMemValue (const DataMem *v)
virtual void setAllEdgeDataMemValue (const DataMem *v)

Static Public Member Functions

static void initFactory ()

Static Public Attributes

static TLP_SCOPE TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext > * factory

Protected Member Functions

virtual void clone_handler (AbstractProperty< Tnode, Tedge, TPROPERTY > &)
Enable to clone part of sub_class.

Protected Attributes

MutableContainer< typename Tnode::RealType > nodeProperties
MutableContainer< typename Tedge::RealType > edgeProperties
Graph * graph
bool circularCall
Tnode::RealType nodeDefaultValue
Tedge::RealType edgeDefaultValue

Friends

class GraphView

Detailed Description

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> class tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >

This class is used to store a property of a graph. A property is a couple of two functions:

•

One from the set of nodes to a set of Tnode value

•

One from the set of edges to a set of Tedge value

A AbstractProperty can be connected or not to a PropertyAlgorithm. In the first case it can be seen as buffer beetween the property and the user. In the second case it is only a memory area for storing data. A AbstractProperty is an observable, so it can be observed by others objects.

Constructor & Destructor Documentation

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::AbstractProperty (Graph *)

Member Function Documentation

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::clone_handler (AbstractProperty< Tnode, Tedge, TPROPERTY > &) [inline, protected, virtual]

Enable to clone part of sub_class.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::compute (const std::string & algorithm, std::string & msg, const PropertyContext &)

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::erase (const edge e) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::erase (const node n) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeDataMemValue (const edge e) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeDefaultDataMemValue () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeDefaultStringValue () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> Tedge::RealType tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeDefaultValue () Returns the edge default value of the property proxy warnning: If the type is a pointer it can produce big memory leak if the user doesn't manage the memory himself

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeStringValue (const edge e) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> ReturnType<typename Tedge::RealType>::Value tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeValue (const edge e) Returns the value associated to the node n in this property. If the value is already fixed it is done in constant time. else if it is a computed property (plug-in), it calls the associated property If there is no value and no algorithms it returns the default value depending of the type.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeDataMemValue (const node n) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeDefaultDataMemValue () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeDefaultStringValue () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> Tnode::RealType tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeDefaultValue () Returns the node default value of the property proxy warnning: If the type is a pointer it can produce big memory leak if the user doesn't manage the memory himself

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeStringValue (const node n) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> ReturnType<typename Tnode::RealType>::Value tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeValue (const node n) Returns the value associated to the node n in this property. If the value is already fixed it is done in constant time. else if it is a computed property (plug-in), it calls the associated property If there is no value and no algorithms it returns the default value depending of the type.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNonDefaultDataMemValue (const edge e) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual DataMem* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNonDefaultDataMemValue (const node n) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual Iterator<edge>* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNonDefaultValuatedEdges () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual Iterator<node>* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNonDefaultValuatedNodes () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getTypename () [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> static void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::initFactory () [inline, static]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual AbstractProperty<Tnode,Tedge,TPROPERTY>& tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::operator= (AbstractProperty< Tnode, Tedge, TPROPERTY > & prop) [inline, virtual]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllEdgeDataMemValue (const DataMem * v) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllEdgeStringValue (const std::string & v) [virtual]

Implements tlp::PropertyInterface.

Reimplemented in tlp::GraphProperty.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllEdgeValue (const typename Tedge::RealType & v) Set the value of all edges and notify the observers

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllNodeDataMemValue (const DataMem * v) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllNodeStringValue (const std::string & v) [virtual]

Implements tlp::PropertyInterface.

Reimplemented in tlp::GraphProperty.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllNodeValue (const typename Tnode::RealType & v) Set the value of all nodes and notify the observers

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setEdgeDataMemValue (const edge e, const DataMem * v) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setEdgeStringValue (const edge e, const std::string & v) [virtual]

Implements tlp::PropertyInterface.

Reimplemented in tlp::GraphProperty.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setEdgeValue (const edge e, const typename Tedge::RealType & v) Set the value of an edge and notify the observers of a modification. Warning : When using computed property (plug-in), if one sets the value of a edge e, the plug-in won't be call for e.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setNodeDataMemValue (const node n, const DataMem * v) [virtual]

Implements tlp::PropertyInterface.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setNodeStringValue (const node n, const std::string & v) [virtual]

Implements tlp::PropertyInterface.

Reimplemented in tlp::GraphProperty.

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setNodeValue (const node n, const typename Tnode::RealType & v) Set the value of a node n and notify the observers of a modification. Warning : When using computed property (plug-in), if one sets the value of a node n, the plug-in won't be call for n.

Friends And Related Function Documentation

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> friend class GraphView [friend]

Member Data Documentation

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::circularCall [protected]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> Tedge::RealType tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::edgeDefaultValue [protected]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> MutableContainer<typename Tedge::RealType> tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::edgeProperties [protected]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> TLP_SCOPE TemplateFactory< PropertyFactory<TPROPERTY>, TPROPERTY, PropertyContext >* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::factory [static]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> Graph* tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::graph [protected]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> Tnode::RealType tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::nodeDefaultValue [protected]

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> MutableContainer<typename Tnode::RealType> tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::nodeProperties [protected]

Author

Generated automatically by Doxygen for Tulip Graph Library from the source code.