tlp::AbstractProperty< Tnode, Tedge, TPROPERTY > Class Template Reference
[Properties]
#include <AbstractProperty.h>
Inherits tlp::PropertyInterface.
Inheritance diagram for tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >:
[legend]Collaboration diagram for tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >:
[legend]List of all members.
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.
Public Member Functions
- AbstractProperty (Graph *)
- virtual ~AbstractProperty ()
- 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 > &proxy)
- 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)
Static Public Member Functions
Static Public Attributes
Protected Member Functions
Protected Attributes
Friends
Constructor & Destructor Documentation
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] |
|
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::erase |
( |
const node |
n |
) |
[virtual] |
|
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
virtual std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getEdgeDefaultStringValue |
( |
|
) |
[virtual] |
|
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] |
|
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 std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getNodeDefaultStringValue |
( |
|
) |
[virtual] |
|
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] |
|
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 std::string tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::getTypename |
( |
|
) |
[virtual] |
|
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 bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllEdgeStringValue |
( |
const std::string & |
v |
) |
[virtual] |
|
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 >::setAllEdgeValue_handler |
( |
const typename Tedge::RealType & |
|
) |
[inline, protected, virtual] |
|
|
Handler function for inherited AbstractProperty. This function is called after a setAllEdgeValue operation. |
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setAllNodeStringValue |
( |
const std::string & |
v |
) |
[virtual] |
|
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 >::setAllNodeValue_handler |
( |
const typename Tnode::RealType & |
|
) |
[inline, protected, virtual] |
|
|
Handler function for inherited AbstractProperty. This function is called after a setAllNodeValue operation. |
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setEdgeStringValue |
( |
const edge |
e, |
|
|
const std::string & |
v |
|
) |
[virtual] |
|
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 >::setEdgeValue_handler |
( |
const |
edge, |
|
|
const typename Tedge::RealType & |
|
|
) |
[inline, protected, virtual] |
|
|
Handler function for inherited AbstractProperty. This function is called after a setEdgeValue operation. |
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
virtual bool tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setNodeStringValue |
( |
const node |
n, |
|
|
const std::string & |
v |
|
) |
[virtual] |
|
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> |
virtual void tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::setNodeValue_handler |
( |
const |
node, |
|
|
const typename Tnode::RealType & |
|
|
) |
[inline, protected, virtual] |
|
|
Handler function for inherited AbstractProperty. This function is called after a setNodeValue operation. |
Friends And Related Function Documentation
template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm> |
friend class GraphView [friend] |
|
Member Data Documentation
|