Man Linux: Main Page and Category List

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