bpp-core3
3.0.0
|
Defines a Graph Associator. It is a template which follows (subscribed to) a Graph. More...
#include <Bpp/Graph/AssociationGraphObserver.h>
Classes | |
class | EdgeIterator |
class | NodeIterator |
Public Types | |
typedef unsigned int | NodeIndex |
typedef unsigned int | EdgeIndex |
Public Member Functions | |
virtual Clonable * | clone () const =0 |
Create a copy of this object and send a pointer to it. More... | |
Graph Relations Management | |
Modificating the structure of the graph. | |
virtual void | createNode (std::shared_ptr< N > newNodeObject)=0 |
virtual void | createNode (std::shared_ptr< N > objectOriginNode, std::shared_ptr< N > newNodeObject, std::shared_ptr< E > newEdgeObject=00)=0 |
virtual void | link (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB, std::shared_ptr< E > edgeObject=00)=0 |
virtual void | unlink (std::shared_ptr< N > nodeObjectA, std::shared_ptr< N > nodeObjectB)=0 |
virtual void | deleteNode (std::shared_ptr< N > nodeObject)=0 |
Object Association | |
virtual void | associateNode (std::shared_ptr< N > nodeObject, NodeGraphid node)=0 |
virtual void | associateEdge (std::shared_ptr< E > edgeObject, EdgeGraphid edge)=0 |
virtual void | dissociateNode (std::shared_ptr< N > nodeObject)=0 |
virtual void | dissociateEdge (std::shared_ptr< E > edgeObject)=0 |
virtual NodeGraphid | getNodeGraphid (const std::shared_ptr< N > nodeObject) const =0 |
virtual EdgeGraphid | getEdgeGraphid (const std::shared_ptr< E > edgeObject) const =0 |
virtual const std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid) const =0 |
virtual std::shared_ptr< N > | getNodeFromGraphid (NodeGraphid)=0 |
virtual std::vector< std::shared_ptr< N > > | getNodesFromGraphid (std::vector< NodeGraphid >) const =0 |
virtual std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid)=0 |
virtual const std::shared_ptr< E > | getEdgeFromGraphid (EdgeGraphid) const =0 |
virtual std::vector< std::shared_ptr< E > > | getEdgesFromGraphid (std::vector< EdgeGraphid >) const =0 |
virtual std::shared_ptr< N > | getRoot () const =0 |
virtual NodeIndex | getRootIndex () const =0 |
Object Indexation | |
Get or set indexes to nodes and edges | |
virtual bool | hasNodeIndex (const std::shared_ptr< N > nodeObject) const =0 |
return if the object has an index. More... | |
virtual bool | hasEdgeIndex (const std::shared_ptr< E > edgeObject) const =0 |
virtual NodeIndex | getNodeIndex (const std::shared_ptr< N > nodeObject) const =0 |
virtual std::vector< NodeIndex > | getNodeIndexes (std::vector< std::shared_ptr< N >> nodeObjects) const =0 |
virtual EdgeIndex | getEdgeIndex (const std::shared_ptr< E > edgeObject) const =0 |
virtual std::vector< EdgeIndex > | getEdgeIndexes (std::vector< std::shared_ptr< E >> edgeObjects) const =0 |
virtual NodeIndex | setNodeIndex (const std::shared_ptr< N > nodeObject, NodeIndex index)=0 |
virtual EdgeIndex | setEdgeIndex (const std::shared_ptr< E > edgeObject, EdgeIndex index)=0 |
virtual bool | hasNode (NodeIndex nodeIndex) const =0 |
virtual bool | hasEdge (EdgeIndex edgeIndex) const =0 |
virtual std::shared_ptr< N > | getNode (NodeIndex nodeIndex) const =0 |
virtual std::shared_ptr< E > | getEdge (EdgeIndex edgeIndex) const =0 |
Iterator interface on Nodes | |
virtual std::unique_ptr< NodeIterator > | allNodesIterator ()=0 |
virtual std::unique_ptr< NodeIterator > | allNodesIterator () const =0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | outgoingNeighborNodesIterator (std::shared_ptr< N > node) const =0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< NodeIterator > | incomingNeighborNodesIterator (std::shared_ptr< N > node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getOutgoingNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getOutgoingNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getOutgoingEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getOutgoingEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getIncomingNeighbors (const std::shared_ptr< N > node) const =0 |
virtual std::vector< NodeIndex > | getIncomingNeighbors (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< E > > | getIncomingEdges (const std::shared_ptr< N > node) const =0 |
virtual std::vector< EdgeIndex > | getIncomingEdges (NodeIndex node) const =0 |
virtual std::vector< std::shared_ptr< N > > | getLeavesFromNode (std::shared_ptr< N > node, unsigned int maxDepth) const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllLeaves () const =0 |
virtual std::vector< NodeIndex > | getAllLeavesIndexes () const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllInnerNodes () const =0 |
virtual std::vector< NodeIndex > | getAllInnerNodesIndexes () const =0 |
virtual std::vector< std::shared_ptr< N > > | getAllNodes () const =0 |
virtual std::vector< NodeIndex > | getAllNodesIndexes () const =0 |
Iterator interface on Edges | |
virtual std::unique_ptr< EdgeIterator > | allEdgesIterator ()=0 |
virtual std::unique_ptr< EdgeIterator > | outgoingEdgesIterator (std::shared_ptr< N > node)=0 |
virtual std::unique_ptr< EdgeIterator > | incomingEdgesIterator (std::shared_ptr< N > node)=0 |
virtual std::vector< std::shared_ptr< E > > | getAllEdges () const =0 |
virtual std::vector< EdgeIndex > | getAllEdgesIndexes () const =0 |
virtual std::shared_ptr< E > | getEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB) const =0 |
virtual void | setEdgeLinking (std::shared_ptr< N > nodeA, std::shared_ptr< N > nodeB, std::shared_ptr< E > edge)=0 |
Function called by the subjectGraph | |
Methods called by the subject graph to make this observer so fit the subject graph | |
virtual void | deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete)=0 |
virtual void | deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete)=0 |
Static Public Member Functions | |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&!std::is_abstract< B >::value, B *>::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< !std::is_base_of< B, A >::value &&std::is_abstract< B >::value, B *>::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&!std::is_abstract< A >::value, B *>::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&std::is_base_of< Clonable, A >::value, B *>::type *=0) |
template<class A , class B > | |
static B * | copy (const A &a, typename std::enable_if< std::is_base_of< B, A >::value &&std::is_abstract< A >::value &&!std::is_base_of< Clonable, A >::value, B *>::type *=0) |
Private Types | |
typedef Graph::NodeId | NodeGraphid |
typedef Graph::EdgeId | EdgeGraphid |
Defines a Graph Associator. It is a template which follows (subscribed to) a Graph.
Definition at line 29 of file AssociationGraphObserver.h.
|
private |
Definition at line 34 of file AssociationGraphObserver.h.
typedef unsigned int bpp::AssociationGraphObserver< N, E >::EdgeIndex |
Definition at line 38 of file AssociationGraphObserver.h.
|
private |
Definition at line 33 of file AssociationGraphObserver.h.
typedef unsigned int bpp::AssociationGraphObserver< N, E >::NodeIndex |
Definition at line 37 of file AssociationGraphObserver.h.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Associate a E object to an edge in the graph.
edgeObject | object to associate |
edge | existing edge to be associated |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Associate a N object to a node in the graph.
nodeObject | object to associate |
node | existing node to be associated |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtualinherited |
Create a copy of this object and send a pointer to it.
Implemented in bpp::TestFunction, bpp::InfinityDerivableSecondOrderWrapper, bpp::InfinityDerivableFirstOrderWrapper, bpp::InfinityFunctionWrapper, bpp::LinearMatrix< Scalar >, bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >, bpp::StdErr, bpp::FunctionStopCondition, bpp::ColMatrix< Scalar >, bpp::PlaceboTransformedParameter, bpp::StdOut, bpp::GlobalGraph, bpp::ParametersStopCondition, bpp::StlOutputStreamWrapper, bpp::ReparametrizationDerivableSecondOrderWrapper, bpp::IntervalTransformedParameter, bpp::MetaOptimizer, bpp::IntervalConstraint, bpp::BppUnsignedInteger, bpp::StlOutputStream, bpp::SecondOrderDerivable, bpp::LogsumHmmLikelihood, bpp::RescaledHmmLikelihood, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::BppInteger, bpp::RowMatrix< Scalar >, bpp::RowMatrix< double >, bpp::RowMatrix< Real >, bpp::Parameter, bpp::Simplex, bpp::LowMemoryRescaledHmmLikelihood, bpp::Table< T >, bpp::AbstractNumericalDerivative, bpp::BppDouble, bpp::RTransformedParameter, bpp::NullOutputStream, bpp::ParametrizableCollection< N >, bpp::FirstOrderDerivable, bpp::OptimizerInterface, bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >, bpp::AssociationDAGraphImplObserver< N, E, DAGraphImpl >, bpp::ThreePointsNumericalDerivative, bpp::DirichletDiscreteDistribution, bpp::SimpleDiscreteDistribution, bpp::DownhillSimplexMethod, bpp::Number< T >, bpp::Number< double >, bpp::Number< int >, bpp::Number< unsigned int >, bpp::FivePointsNumericalDerivative, bpp::ReparametrizationFunctionWrapper, bpp::DataTable, bpp::PrincipalComponentAnalysis, bpp::DualityDiagram, bpp::TruncatedExponentialDiscreteDistribution, bpp::MetaOptimizerInfos, bpp::BrentOneDimension, bpp::NewtonBacktrackOneDimension, bpp::FunctionOperator< F >, bpp::AutoParameter, bpp::GammaDiscreteDistribution, bpp::MixtureOfDiscreteDistributions, bpp::AliasParameterListener, bpp::Range< T >, bpp::PowellMultiDimensions, bpp::InvariantMixedDiscreteDistribution, bpp::TwoPointsNumericalDerivative, bpp::ParameterListener, bpp::OutputStream, bpp::GoldenSectionSearch, bpp::DirectionFunction, bpp::Point2D< T >, bpp::BetaDiscreteDistribution, bpp::ExponentialDiscreteDistribution, bpp::ParameterList, bpp::CorrespondenceAnalysis, bpp::HmmLikelihood, bpp::GaussianDiscreteDistribution, bpp::BfgsMultiDimensions, bpp::NewtonBacktrackOneDimension::NBODStopCondition, bpp::FullHmmTransitionMatrix, bpp::BppNotANumber, bpp::UniformDiscreteDistribution, bpp::ContingencyTableTest, bpp::Font, bpp::ConstantDistribution, bpp::DiscreteDistributionInterface, bpp::MultipleDiscreteDistribution, bpp::DownhillSimplexMethod::DSMStopCondition, bpp::MathOperator, bpp::BrentOneDimension::BODStopCondition, bpp::ConjugateGradientMultiDimensions, bpp::OptimizationStopCondition, bpp::AutoCorrelationTransitionMatrix, bpp::ParameterEvent, bpp::ComputationTree, bpp::GoldenSectionSearch::GSSStopCondition, bpp::PowellMultiDimensions::PMDStopCondition, bpp::ConstraintInterface, bpp::HmmStateAlphabet, bpp::RGBColor, bpp::SimpleMultiDimensions, bpp::SimpleNewtonMultiDimensions, bpp::HmmEmissionProbabilities, bpp::BinaryOperator, bpp::BppVector< T >, bpp::TransformedParameter, bpp::BppString, bpp::ConstantOperator, bpp::NegativeOperator, bpp::HmmTransitionMatrix, bpp::BppNumberI, bpp::BppBoolean, and bpp::NewtonOneDimension.
Referenced by bpp::FirstOrderDerivable::~FirstOrderDerivable(), and bpp::SecondOrderDerivable::~SecondOrderDerivable().
|
inlinestatic |
Specific copy of A and B objects, if clonable or not.
Definition at line 45 of file AssociationGraphObserver.h.
|
inlinestatic |
Definition at line 51 of file AssociationGraphObserver.h.
|
inlinestatic |
Definition at line 58 of file AssociationGraphObserver.h.
|
inlinestatic |
Definition at line 64 of file AssociationGraphObserver.h.
|
inlinestatic |
Definition at line 70 of file AssociationGraphObserver.h.
References bpp::AssociationGraphObserver< N, E >::associateEdge(), bpp::AssociationGraphObserver< N, E >::associateNode(), bpp::AssociationGraphObserver< N, E >::createNode(), bpp::AssociationGraphObserver< N, E >::deleteNode(), bpp::AssociationGraphObserver< N, E >::dissociateEdge(), bpp::AssociationGraphObserver< N, E >::dissociateNode(), bpp::AssociationGraphObserver< N, E >::getEdge(), bpp::AssociationGraphObserver< N, E >::getEdgeFromGraphid(), bpp::AssociationGraphObserver< N, E >::getEdgeGraphid(), bpp::AssociationGraphObserver< N, E >::getEdgeIndex(), bpp::AssociationGraphObserver< N, E >::getEdgeIndexes(), bpp::AssociationGraphObserver< N, E >::getEdgesFromGraphid(), bpp::AssociationGraphObserver< N, E >::getNode(), bpp::AssociationGraphObserver< N, E >::getNodeFromGraphid(), bpp::AssociationGraphObserver< N, E >::getNodeGraphid(), bpp::AssociationGraphObserver< N, E >::getNodeIndex(), bpp::AssociationGraphObserver< N, E >::getNodeIndexes(), bpp::AssociationGraphObserver< N, E >::getNodesFromGraphid(), bpp::AssociationGraphObserver< N, E >::getRoot(), bpp::AssociationGraphObserver< N, E >::getRootIndex(), bpp::AssociationGraphObserver< N, E >::hasEdge(), bpp::AssociationGraphObserver< N, E >::hasEdgeIndex(), bpp::AssociationGraphObserver< N, E >::hasNode(), bpp::AssociationGraphObserver< N, E >::hasNodeIndex(), bpp::AssociationGraphObserver< N, E >::link(), bpp::AssociationGraphObserver< N, E >::setEdgeIndex(), bpp::AssociationGraphObserver< N, E >::setNodeIndex(), and bpp::AssociationGraphObserver< N, E >::unlink().
|
pure virtual |
Creates an orphaned node from a NodeClass object.
newNodeObject | the N object associated to the node in the graph. |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Creates an node linked to an existing node. Order of parameters match the link method.
newNodeObject | the N object associated to the node in the graph. |
objectOriginNode | existing node. In a directed graph: origin -> newNode. |
newEdgeObject | optional edge between nodes (default = 00) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Delete unused object edges, since they have been deleted in the graph
edgesToDelete | a vector of Edges to delete |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtualinherited |
Delete unused object nodes, since they have been deleted in the graph
nodesToDelete | a vector of N to delete |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
|
pure virtual |
Deletes a node
nodeObject | node to be deleted |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
Dissociate a N or E object to a node or an edge in the graph. Graph is not changed.
nodeObject | object to dissociate |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Get all the defined edges of a graphO,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::EdgeIterator::~EdgeIterator().
|
pure virtual |
|
pure virtual |
Get all the inner nodes of a graph, ie, nodes with degree >= 2.
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Get all the leaves objects of a graph, ie, nodes with only one neighbor,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Get all the defined nodes of a graphO,
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Return the associated Node index
edgeIndex | the index of the wanted edge |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Return the associated Node ID
edgeObject | object which to return the node ID |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Return the associated Node index
edgeObject | object which to return the node index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Returns the Edge between two nodes nodeA -> nodeB
nodeA | source node (if directed) |
nodeB | destination node (if directed) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::EdgeIterator::~EdgeIterator().
|
pure virtual |
Get all the edges from/to a node in the graph.
node | the node one wants to get its neighbor edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
|
pure virtual |
In an directed graph, get all the edges which are coming to a node in the graph.
node | the node one wants to get its edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
In an directed graph, get all the neighbors which are coming to a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Get the leaves of a graph, ie, nodes with only one neighbor, starting from a peculiar node, up to a specific depth.
node | the starting node |
maxDepth | the max recursion depth |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
Get all the neighbors of a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Return the associated Node, querying with an index
nodeIndex | the index of the wanted node |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Transforms an (a list of) id(s) into an (a list of) object(s)
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
Return the associated Node ID
nodeObject | object which to return the node ID |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Return the associated Node index
nodeObject | object which to return the node index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
In an directed graph, get all the edges which are leaving a node in the graph.
node | the node one wants to get its edges |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
In an directed graph, get all the neighbors which are leaving a node in the graph.
node | the node one wants to get its neighbors |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::NodeIterator::~NodeIterator().
|
pure virtual |
|
pure virtual |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
Return if the Graph has an edge matching edgeIndex
edgeIndex | the index of the wanted edge |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
Return if the Graph has a node matching nodeIndex
nodeIndex | the index of the wanted node |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
return if the object has an index.
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Creates a link between two existing nodes. If directed graph: nodeA -> nodeB.
nodeObjectA | source node (or first node if undirected) |
nodeObjectB | target node (or second node if undirected) |
edgeObject | the optional edge between the nodes (default = 00) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Set an index associated to an edge
edgeObject | object to which one want to set the index |
index | intex to be given, 0 to get the first free index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Sets the Edge between two nodes nodeA -> nodeB
nodeA | source node (if directed) |
nodeB | destination node (if directed) |
edge | the edge between these two nodes |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::EdgeIterator::~EdgeIterator().
|
pure virtual |
Set an index associated to a node
nodeObject | object to which one want to set the index |
index | intex to be given, 0 to get the first free index |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().
|
pure virtual |
Detroys a link between two existing nodes in the graph. If directed graph: nodeA -> nodeB.
nodeObjectA | source node (or first node if undirected) |
nodeObjectB | target node (or second node if undirected) |
Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.
Referenced by bpp::AssociationGraphObserver< N, E >::copy().