Overview     Modules     Class Hierarchy     Classes     Members  

tlp::AbstractProperty< Tnode, Tedge, TPROPERTY > Class Template Reference
[Properties]

#include <AbstractProperty.h>

Inherits tlp::PropertyInterface.

Inheritance diagram for tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >:

Inheritance graph
[legend]
Collaboration diagram for tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >:

Collaboration graph
[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

Static Public Member Functions

Static Public Attributes

Protected Member Functions

Protected Attributes

Friends


Constructor & Destructor Documentation

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm>
tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::AbstractProperty Graph  ) 
 

template<class Tnode, class Tedge, class TPROPERTY = PropertyAlgorithm>
virtual tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >::~AbstractProperty  )  [virtual]
 


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]
 

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 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 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 > &  proxy  )  [inline, virtual]
 

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 >::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]
 

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 >::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]
 

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 >::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]
 

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

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]
 



Tulip Software by LaBRI Visualization Team    2001 - 2007