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.