|
| AbstractProperty (Graph *, const std::string &n="") |
|
int | compare (const node n1, const node n2) const |
|
int | compare (const edge e1, const edge e2) const |
|
virtual void | computeMetaValue (node n, const Graph *sg, const Graph *mg) |
|
virtual void | computeMetaValue (edge e, tlp::Iterator< edge > *itE, const Graph *mg) |
|
virtual bool | copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false) |
|
virtual bool | copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false) |
|
virtual void | copy (PropertyInterface *property) |
|
virtual unsigned int | edgeValueSize () const |
|
virtual void | erase (const node n) |
|
virtual void | erase (const edge e) |
|
virtual DataMem * | getEdgeDataMemValue (const edge e) const |
|
virtual DataMem * | getEdgeDefaultDataMemValue () const |
|
virtual std::string | getEdgeDefaultStringValue () const |
|
virtual Tedge::RealType | getEdgeDefaultValue () const |
|
virtual std::string | getEdgeStringValue (const edge e) const |
|
virtual tlp::StoredType< typename Tedge::RealType >::ReturnedConstValue | getEdgeValue (const edge e) const |
|
virtual DataMem * | getNodeDataMemValue (const node n) const |
|
virtual DataMem * | getNodeDefaultDataMemValue () const |
|
virtual std::string | getNodeDefaultStringValue () const |
|
virtual Tnode::RealType | getNodeDefaultValue () const |
|
virtual std::string | getNodeStringValue (const node n) const |
|
virtual tlp::StoredType< typename Tnode::RealType >::ReturnedConstValue | getNodeValue (const node n) const |
|
virtual DataMem * | getNonDefaultDataMemValue (const node n) const |
|
virtual DataMem * | getNonDefaultDataMemValue (const edge e) const |
|
virtual tlp::Iterator< edge > * | getNonDefaultValuatedEdges (const Graph *g=NULL) const |
|
virtual tlp::Iterator< node > * | getNonDefaultValuatedNodes (const Graph *g=NULL) const |
|
virtual unsigned int | nodeValueSize () const |
|
virtual unsigned int | numberOfNonDefaultValuatedEdges (const Graph *=NULL) const |
|
virtual unsigned int | numberOfNonDefaultValuatedNodes (const Graph *g=NULL) const |
|
virtual AbstractProperty< Tnode, Tedge, Tprop > & | operator= (AbstractProperty< Tnode, Tedge, Tprop > &prop) |
|
virtual bool | readEdgeDefaultValue (std::istream &) |
|
virtual bool | readEdgeValue (std::istream &, edge) |
|
virtual bool | readNodeDefaultValue (std::istream &) |
|
virtual bool | readNodeValue (std::istream &, node) |
|
virtual void | setAllEdgeDataMemValue (const DataMem *v) |
|
virtual bool | setAllEdgeStringValue (const std::string &inV, const Graph *graph=NULL) |
|
virtual void | setAllEdgeValue (const typename Tedge::RealType &v, const Graph *graph=NULL) |
|
virtual void | setAllNodeDataMemValue (const DataMem *v) |
|
virtual bool | setAllNodeStringValue (const std::string &inV, const Graph *graph=NULL) |
|
virtual void | setAllNodeValue (const typename Tnode::RealType &v, const Graph *graph=NULL) |
|
virtual void | setEdgeDataMemValue (const edge e, const DataMem *v) |
|
virtual bool | setEdgeStringValue (const edge inE, const std::string &inV) |
|
virtual void | setEdgeValue (const edge e, const typename Tedge::RealType &v) |
|
virtual void | setMetaValueCalculator (PropertyInterface::MetaValueCalculator *mvCalc) |
|
virtual void | setNodeDataMemValue (const node n, const DataMem *v) |
|
virtual bool | setNodeStringValue (const node inN, const std::string &inV) |
|
virtual void | setNodeValue (const node n, const typename Tnode::RealType &v) |
|
virtual void | writeEdgeDefaultValue (std::ostream &) const |
|
virtual void | writeEdgeValue (std::ostream &, edge) const |
|
virtual void | writeNodeDefaultValue (std::ostream &) const |
|
virtual void | writeNodeValue (std::ostream &, node) const |
|
template<class Tnode, class Tedge, class Tprop = PropertyInterface>
class tlp::AbstractProperty< Tnode, Tedge, Tprop >
This class extends upon PropertyInterface, and adds type-safe methods to get and set the node and edge values, through the magic of template programming.
Nodes and Edges can have different types (e.g. tlp::LayoutProperty has tlp::PointType as node type and tlp::LineType as edge type), but most of the time they have the same type (e.g. tlp::DoubleProperty, tlp::IntegerProperty).
Some of the pure virtual functions of PropertyInterface are implemented in this class (e.g. erase()).
The actual data is stored in this class, and it manages the default values.
Definition at line 54 of file AbstractProperty.h.