NAME
tlp::PropertyInterface -
SYNOPSIS
#include <AbstractProperty.h>
Inherits tlp::Observable, and tlp::ObservableProperty.
Inherited by tlp::AbstractProperty< BooleanType, BooleanType,
BooleanAlgorithm >, tlp::AbstractProperty< ColorType, ColorType,
ColorAlgorithm >, tlp::AbstractProperty< DoubleType, DoubleType,
DoubleAlgorithm >, tlp::AbstractProperty< GraphType, EdgeSetType >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< PointType, LineType, LayoutAlgorithm >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< StringType, StringType, StringAlgorithm >, and
tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >.
Public Member Functions
virtual ~PropertyInterface ()
virtual void erase (const node)=0
virtual void erase (const edge)=0
virtual void copy (const node, const node, PropertyInterface *)=0
virtual void copy (const edge, const edge, PropertyInterface *)=0
virtual PropertyInterface * clonePrototype (Graph *, std::string)=0
virtual std::string getTypename ()=0
virtual std::string getNodeDefaultStringValue ()=0
virtual std::string getEdgeDefaultStringValue ()=0
virtual std::string getNodeStringValue (const node n)=0
virtual std::string getEdgeStringValue (const edge e)=0
virtual bool setNodeStringValue (const node n, const std::string &v)=0
virtual bool setEdgeStringValue (const edge e, const std::string &v)=0
virtual bool setAllNodeStringValue (const std::string &v)=0
virtual bool setAllEdgeStringValue (const std::string &v)=0
virtual Iterator< node > * getNonDefaultValuatedNodes ()=0
virtual Iterator< edge > * getNonDefaultValuatedEdges ()=0
virtual DataMem * getNodeDefaultDataMemValue ()=0
virtual DataMem * getEdgeDefaultDataMemValue ()=0
virtual DataMem * getNodeDataMemValue (const node n)=0
virtual DataMem * getEdgeDataMemValue (const edge e)=0
virtual DataMem * getNonDefaultDataMemValue (const node n)=0
virtual DataMem * getNonDefaultDataMemValue (const edge e)=0
virtual void setNodeDataMemValue (const node n, const DataMem *v)=0
virtual void setEdgeDataMemValue (const edge e, const DataMem *v)=0
virtual void setAllNodeDataMemValue (const DataMem *v)=0
virtual void setAllEdgeDataMemValue (const DataMem *v)=0
Static Public Member Functions
static std::string getTypename (PropertyInterface *)
Protected Member Functions
void notifyAfterSetNodeValue (PropertyInterface *, const node n)
void notifyAfterSetEdgeValue (PropertyInterface *, const edge e)
void notifyAfterSetAllNodeValue (PropertyInterface *)
void notifyAfterSetAllEdgeValue (PropertyInterface *)
void notifyDestroy (PropertyInterface *)
Constructor & Destructor Documentation
virtual tlp::PropertyInterface::~PropertyInterface () [virtual]
Member Function Documentation
virtual PropertyInterface* tlp::PropertyInterface::clonePrototype (Graph *,
std::string) [pure virtual]
Implemented in tlp::BooleanProperty, tlp::ColorProperty,
tlp::DoubleProperty, tlp::GraphProperty, tlp::IntegerProperty,
tlp::LayoutProperty, tlp::SizeProperty, and tlp::StringProperty.
virtual void tlp::PropertyInterface::copy (const edge, const edge,
PropertyInterface *) [pure virtual]
Implemented in tlp::BooleanProperty, tlp::ColorProperty,
tlp::DoubleProperty, tlp::GraphProperty, tlp::IntegerProperty,
tlp::LayoutProperty, tlp::SizeProperty, and tlp::StringProperty.
virtual void tlp::PropertyInterface::copy (const node, const node,
PropertyInterface *) [pure virtual]
Implemented in tlp::BooleanProperty, tlp::ColorProperty,
tlp::DoubleProperty, tlp::GraphProperty, tlp::IntegerProperty,
tlp::LayoutProperty, tlp::SizeProperty, and tlp::StringProperty.
virtual void tlp::PropertyInterface::erase (const edge) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual void tlp::PropertyInterface::erase (const node) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getEdgeDataMemValue (const edge e)
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getEdgeDefaultDataMemValue ()
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual std::string tlp::PropertyInterface::getEdgeDefaultStringValue ()
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual std::string tlp::PropertyInterface::getEdgeStringValue (const edge
e) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getNodeDataMemValue (const node n)
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getNodeDefaultDataMemValue ()
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual std::string tlp::PropertyInterface::getNodeDefaultStringValue ()
[pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual std::string tlp::PropertyInterface::getNodeStringValue (const node
n) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getNonDefaultDataMemValue (const
edge e) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual DataMem* tlp::PropertyInterface::getNonDefaultDataMemValue (const
node n) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual Iterator<edge>* tlp::PropertyInterface::getNonDefaultValuatedEdges
() [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual Iterator<node>* tlp::PropertyInterface::getNonDefaultValuatedNodes
() [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
static std::string tlp::PropertyInterface::getTypename (PropertyInterface
*) [static]
virtual std::string tlp::PropertyInterface::getTypename () [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
void tlp::PropertyInterface::notifyAfterSetAllEdgeValue (PropertyInterface
*) [protected]
Reimplemented from tlp::ObservableProperty.
void tlp::PropertyInterface::notifyAfterSetAllNodeValue (PropertyInterface
*) [protected]
Reimplemented from tlp::ObservableProperty.
void tlp::PropertyInterface::notifyAfterSetEdgeValue (PropertyInterface *,
const edge e) [protected]
Reimplemented from tlp::ObservableProperty.
void tlp::PropertyInterface::notifyAfterSetNodeValue (PropertyInterface *,
const node n) [protected]
Reimplemented from tlp::ObservableProperty.
void tlp::PropertyInterface::notifyDestroy (PropertyInterface *)
[protected]
Reimplemented from tlp::ObservableProperty.
virtual void tlp::PropertyInterface::setAllEdgeDataMemValue (const DataMem
* v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual bool tlp::PropertyInterface::setAllEdgeStringValue (const
std::string & v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::GraphProperty, tlp::AbstractProperty< SizeType, SizeType,
SizeAlgorithm >, tlp::AbstractProperty< IntegerType, IntegerType,
IntegerAlgorithm >, tlp::AbstractProperty< BooleanType, BooleanType,
BooleanAlgorithm >, tlp::AbstractProperty< ColorType, ColorType,
ColorAlgorithm >, tlp::AbstractProperty< GraphType, EdgeSetType >,
tlp::AbstractProperty< DoubleType, DoubleType, DoubleAlgorithm >,
tlp::AbstractProperty< PointType, LineType, LayoutAlgorithm >, and
tlp::AbstractProperty< StringType, StringType, StringAlgorithm >.
virtual void tlp::PropertyInterface::setAllNodeDataMemValue (const DataMem
* v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual bool tlp::PropertyInterface::setAllNodeStringValue (const
std::string & v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::GraphProperty, tlp::AbstractProperty< SizeType, SizeType,
SizeAlgorithm >, tlp::AbstractProperty< IntegerType, IntegerType,
IntegerAlgorithm >, tlp::AbstractProperty< BooleanType, BooleanType,
BooleanAlgorithm >, tlp::AbstractProperty< ColorType, ColorType,
ColorAlgorithm >, tlp::AbstractProperty< GraphType, EdgeSetType >,
tlp::AbstractProperty< DoubleType, DoubleType, DoubleAlgorithm >,
tlp::AbstractProperty< PointType, LineType, LayoutAlgorithm >, and
tlp::AbstractProperty< StringType, StringType, StringAlgorithm >.
virtual void tlp::PropertyInterface::setEdgeDataMemValue (const edge e,
const DataMem * v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual bool tlp::PropertyInterface::setEdgeStringValue (const edge e,
const std::string & v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::GraphProperty, tlp::AbstractProperty< SizeType, SizeType,
SizeAlgorithm >, tlp::AbstractProperty< IntegerType, IntegerType,
IntegerAlgorithm >, tlp::AbstractProperty< BooleanType, BooleanType,
BooleanAlgorithm >, tlp::AbstractProperty< ColorType, ColorType,
ColorAlgorithm >, tlp::AbstractProperty< GraphType, EdgeSetType >,
tlp::AbstractProperty< DoubleType, DoubleType, DoubleAlgorithm >,
tlp::AbstractProperty< PointType, LineType, LayoutAlgorithm >, and
tlp::AbstractProperty< StringType, StringType, StringAlgorithm >.
virtual void tlp::PropertyInterface::setNodeDataMemValue (const node n,
const DataMem * v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::AbstractProperty< SizeType, SizeType, SizeAlgorithm >,
tlp::AbstractProperty< IntegerType, IntegerType, IntegerAlgorithm >,
tlp::AbstractProperty< BooleanType, BooleanType, BooleanAlgorithm >,
tlp::AbstractProperty< ColorType, ColorType, ColorAlgorithm >,
tlp::AbstractProperty< GraphType, EdgeSetType >, tlp::AbstractProperty<
DoubleType, DoubleType, DoubleAlgorithm >, tlp::AbstractProperty<
PointType, LineType, LayoutAlgorithm >, and tlp::AbstractProperty<
StringType, StringType, StringAlgorithm >.
virtual bool tlp::PropertyInterface::setNodeStringValue (const node n,
const std::string & v) [pure virtual]
Implemented in tlp::AbstractProperty< Tnode, Tedge, TPROPERTY >,
tlp::GraphProperty, tlp::AbstractProperty< SizeType, SizeType,
SizeAlgorithm >, tlp::AbstractProperty< IntegerType, IntegerType,
IntegerAlgorithm >, tlp::AbstractProperty< BooleanType, BooleanType,
BooleanAlgorithm >, tlp::AbstractProperty< ColorType, ColorType,
ColorAlgorithm >, tlp::AbstractProperty< GraphType, EdgeSetType >,
tlp::AbstractProperty< DoubleType, DoubleType, DoubleAlgorithm >,
tlp::AbstractProperty< PointType, LineType, LayoutAlgorithm >, and
tlp::AbstractProperty< StringType, StringType, StringAlgorithm >.
Author
Generated automatically by Doxygen for Tulip Graph Library from the
source code.