tlp_AbstractProperty.3tulip

Langue: en

Version: 340354 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

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 node n) [virtual]

Implements tlp::PropertyInterface.

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 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.

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.

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.

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.

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.

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.