tlp::abstractproperty(3)
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: - o One from the set of nodes to a set of Tnode value
- o 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.