bpp-core3  3.0.0
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > Class Template Referenceabstract

#include <Bpp/Graph/AssociationTreeGraphImplObserver.h>

+ Inheritance diagram for bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >:
+ Collaboration diagram for bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >:

Public Types

typedef AssociationGraphObserver< N, E >::NodeIndex NodeIndex
 
typedef AssociationGraphObserver< N, E >::EdgeIndex EdgeIndex
 
typedef Graph::NodeId NodeGraphid
 
typedef Graph::EdgeId EdgeGraphid
 
typedef AssociationGraphObserver< N, E >::NodeIterator NodeIterator
 
typedef AssociationGraphObserver< N, E >::EdgeIterator EdgeIterator
 
using Eref = std::shared_ptr< E >
 
using Nref = std::shared_ptr< N >
 

Public Member Functions

 AssociationTreeGraphImplObserver (bool rooted=false)
 
 AssociationTreeGraphImplObserver (std::shared_ptr< TreeGraphImpl > subjectTreeGraph)
 
 AssociationTreeGraphImplObserver (bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > const &treeGraphObserver)
 
template<class N2 , class E2 >
 AssociationTreeGraphImplObserver (bpp::AssociationTreeGraphImplObserver< N2, E2, TreeGraphImpl > const &treeGraphObserver)
 
AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > & operator= (bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > const &treeGraphObserver)
 
 ~AssociationTreeGraphImplObserver ()
 
AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > * clone () const
 
bool isValid () const
 
std::shared_ptr< E > getEdgeToFather (const std::shared_ptr< N > nodeObject) const
 
std::shared_ptr< E > getEdgeToFather (const NodeIndex index) const
 
void rootAt (const std::shared_ptr< N > root)
 Sets the root and make the tree directed from root to leaves. More...
 
bool isRooted () const
 
std::shared_ptr< N > getFatherOfNode (const std::shared_ptr< N > nodeObject) const
 
bool hasFather (const std::shared_ptr< N > nodeObject) const
 
bool hasFather (const NodeIndex index) const
 
std::vector< std::shared_ptr< N > > getSons (const std::shared_ptr< N > node) const
 
std::vector< NodeIndexgetSons (const NodeIndex node) const
 
std::vector< std::shared_ptr< E > > getBranches (const std::shared_ptr< N > node) const
 
std::vector< EdgeIndexgetBranches (const NodeIndex node) const
 
std::shared_ptr< N > getSon (const std::shared_ptr< E > edge) const
 
NodeIndex getSon (const EdgeIndex edge) const
 
std::shared_ptr< N > getFatherOfEdge (const std::shared_ptr< E > edge) const
 
NodeIndex getFatherOfEdge (const EdgeIndex edge) const
 
size_t getNumberOfSons (const std::shared_ptr< N > node) const
 
std::vector< std::shared_ptr< N > > getLeavesUnderNode (std::shared_ptr< N > node) const
 
std::vector< NodeIndexgetLeavesUnderNode (NodeIndex node) const
 
std::vector< std::shared_ptr< N > > removeSons (const std::shared_ptr< N > node)
 
void removeSon (const std::shared_ptr< N > node, const std::shared_ptr< N > son)
 
void setFather (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > fatherNodeObject, const std::shared_ptr< E > edgeObject=0)
 
void addSon (const std::shared_ptr< N > nodeObject, const std::shared_ptr< N > sonNodeObject, const std::shared_ptr< E > edgeObject=0)
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::NodeIteratorsonsIterator (std::shared_ptr< N > node)
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::NodeIteratorsonsIterator (std::shared_ptr< N > node) const
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIteratorbranchesIterator (std::shared_ptr< N > node)
 
std::unique_ptr< typename AssociationTreeGraphObserver< N, E >::EdgeIteratorbranchesIterator (std::shared_ptr< N > node) const
 
std::vector< std::shared_ptr< N > > getNodePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB, bool includeAncestor=true) const
 Get a vector of ancestor nodes between to nodes. More...
 
std::vector< std::shared_ptr< E > > getEdgePathBetweenTwoNodes (const std::shared_ptr< N > nodeA, const std::shared_ptr< N > nodeB) const
 
std::vector< NodeIndexgetNodePathBetweenTwoNodes (const NodeIndex nodeA, const NodeIndex nodeB, bool includeAncestor=true) const
 
std::vector< EdgeIndexgetEdgePathBetweenTwoNodes (const NodeIndex nodeA, const NodeIndex nodeB, bool includeAncestor=true) const
 
std::vector< std::shared_ptr< N > > getSubtreeNodes (const std::shared_ptr< N > localRoot) const
 
std::vector< std::shared_ptr< E > > getSubtreeEdges (const std::shared_ptr< N > localRoot) const
 
std::vector< NodeIndexgetSubtreeNodes (const NodeIndex localRoot) const
 
std::vector< EdgeIndexgetSubtreeEdges (const NodeIndex localRoot) const
 
std::shared_ptr< N > MRCA (const std::vector< std::shared_ptr< N > > vNodeObject) const
 
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

Associate or dissociate N and E objects to pre-existing Graph Nodes and Graph Edges

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< NodeIndexgetNodeIndexes (std::vector< std::shared_ptr< N > > nodeObjects) const =0
 
virtual EdgeIndex getEdgeIndex (const std::shared_ptr< E > edgeObject) const =0
 
virtual std::vector< EdgeIndexgetEdgeIndexes (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< NodeIteratorallNodesIterator ()=0
 
virtual std::unique_ptr< NodeIteratorallNodesIterator () const =0
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratoroutgoingNeighborNodesIterator (std::shared_ptr< N > node) const =0
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< NodeIteratorincomingNeighborNodesIterator (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< NodeIndexgetNeighbors (NodeIndex node) const =0
 
virtual std::vector< std::shared_ptr< E > > getEdges (const std::shared_ptr< N > node) const =0
 
virtual std::vector< EdgeIndexgetEdges (NodeIndex node) const =0
 
virtual std::vector< std::shared_ptr< N > > getOutgoingNeighbors (const std::shared_ptr< N > node) const =0
 
virtual std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const =0
 
virtual std::vector< std::shared_ptr< E > > getOutgoingEdges (const std::shared_ptr< N > node) const =0
 
virtual std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const =0
 
virtual std::vector< std::shared_ptr< N > > getIncomingNeighbors (const std::shared_ptr< N > node) const =0
 
virtual std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const =0
 
virtual std::vector< std::shared_ptr< E > > getIncomingEdges (const std::shared_ptr< N > node) const =0
 
virtual std::vector< EdgeIndexgetIncomingEdges (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< NodeIndexgetAllLeavesIndexes () const =0
 
virtual std::vector< std::shared_ptr< N > > getAllInnerNodes () const =0
 
virtual std::vector< NodeIndexgetAllInnerNodesIndexes () const =0
 
virtual std::vector< std::shared_ptr< N > > getAllNodes () const =0
 
virtual std::vector< NodeIndexgetAllNodesIndexes () const =0
 
Iterator interface on Edges
virtual std::unique_ptr< EdgeIteratorallEdgesIterator ()=0
 
virtual std::unique_ptr< EdgeIteratoroutgoingEdgesIterator (std::shared_ptr< N > node)=0
 
virtual std::unique_ptr< EdgeIteratorincomingEdgesIterator (std::shared_ptr< N > node)=0
 
virtual std::vector< std::shared_ptr< E > > getAllEdges () const =0
 
virtual std::vector< EdgeIndexgetAllEdgesIndexes () 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
 
Object Indexation

Get or set indexes to nodes and edges

bool hasNode (NodeIndex node) const
 
bool hasEdge (EdgeIndex edge) const
 
bool hasNodeIndex (const Nref nodeObject) const
 return if the object has an index. More...
 
bool hasEdgeIndex (const Eref edgeObject) const
 
NodeIndex getNodeIndex (const Nref nodeObject) const
 
std::vector< NodeIndexgetNodeIndexes (std::vector< Nref > nodes) const
 
EdgeIndex getEdgeIndex (const Eref edgeObject) const
 
std::vector< EdgeIndexgetEdgeIndexes (std::vector< Eref > edges) const
 
NodeIndex setNodeIndex (const Nref nodeObject, NodeIndex index)
 
EdgeIndex setEdgeIndex (const Eref edgeObject, EdgeIndex index)
 
NodeIndex addNodeIndex (const Nref nodeObject)
 
EdgeIndex addEdgeIndex (const Eref edgeObject)
 
Nref getNode (NodeIndex node) const
 
Eref getEdge (EdgeIndex edge) const
 
Graph Relations Management

Modificating the structure of the graph.

void createNode (Nref nodeObject)
 
void createNode (Nref objectOriginNode, Nref newNodeObject, Eref newEdgeObject=00)
 
void link (Nref nodeObjectA, Nref nodeObjectB, Eref edgeObject=00)
 
void unlink (Nref nodeObjectA, Nref nodeObjectB)
 
void deleteNode (Nref nodeObject)
 
Object Association

Associate or dissociate N and E objects to pre-existing Graph Nodes and Graph Edges

void associateNode (Nref nodeObject, NodeGraphid graphNode)
 
void associateEdge (Eref edgeObject, EdgeGraphid graphEdge)
 
void dissociateNode (Nref nodeObject)
 
void dissociateEdge (Eref edgeObject)
 
NodeGraphid getNodeGraphid (const Nref nodeObject) const
 
EdgeGraphid getEdgeGraphid (const Eref edgeObject) const
 
Nref getNodeFromGraphid (NodeGraphid node)
 
const Nref getNodeFromGraphid (NodeGraphid node) const
 
std::vector< NrefgetNodesFromGraphid (std::vector< NodeGraphid > nodes) const
 
Eref getEdgeFromGraphid (EdgeGraphid edge)
 
const Eref getEdgeFromGraphid (EdgeGraphid edge) const
 
std::vector< ErefgetEdgesFromGraphid (std::vector< EdgeGraphid > edges) const
 
void setRoot (const Nref newRoot)
 set the root (but no checking, to be used at first construction) More...
 
Nref getRoot () const
 
NodeIndex getRootIndex () const
 
Topology exploration

These methodes of the graph concern the topology exploration.

void outputToDot (const std::string &fname, const std::string &name) const
 
void outputToDot (std::ostream &out, const std::string &name) const
 
Iterators on Nodes
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorallNodesIterator () const
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratoroutgoingNeighborNodesIterator (Nref node) const
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::NodeIteratorincomingNeighborNodesIterator (Nref node) const
 
std::vector< NrefgetNeighbors (const Nref node) const
 
std::vector< NodeIndexgetNeighbors (NodeIndex node) const
 
std::vector< ErefgetEdges (const Nref node) const
 
std::vector< EdgeIndexgetEdges (NodeIndex node) const
 
std::vector< NrefgetOutgoingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetOutgoingNeighbors (NodeIndex node) const
 
std::vector< ErefgetOutgoingEdges (const Nref node) const
 
std::vector< EdgeIndexgetOutgoingEdges (NodeIndex node) const
 
std::vector< NrefgetIncomingNeighbors (const Nref node) const
 
std::vector< NodeIndexgetIncomingNeighbors (NodeIndex node) const
 
std::vector< ErefgetIncomingEdges (const Nref node) const
 
std::vector< EdgeIndexgetIncomingEdges (NodeIndex node) const
 
std::vector< NrefgetLeavesFromNode (Nref node, unsigned int maxDepth) const
 
std::vector< NrefgetAllLeaves () const
 
std::vector< NodeIndexgetAllLeavesIndexes () const
 
std::vector< NrefgetAllInnerNodes () const
 
std::vector< NodeIndexgetAllInnerNodesIndexes () const
 
std::vector< NrefgetAllNodes () const
 
std::vector< NodeIndexgetAllNodesIndexes () const
 
std::vector< EdgeIndexgetAllEdgesIndexes () const
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator ()
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorallEdgesIterator () const
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratoroutgoingEdgesIterator (Nref node) const
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node)
 
std::unique_ptr< typename AssociationGraphObserver< N, E >::EdgeIteratorincomingEdgesIterator (Nref node) const
 
std::vector< ErefgetAllEdges () const
 
bool isLeaf (const Nref node) const
 Is the node a leaf? More...
 
bool isLeaf (const NodeIndex nodeid) const
 
std::pair< Nref, NrefgetNodes (Eref edge) const
 
Eref getEdgeLinking (Nref nodeA, Nref nodeB) const
 
void setEdgeLinking (Nref nodeA, Nref nodeB, Eref edge)
 
Function called by the subjectGraph

These methodes are called by the subject graph to make this observer so fit the subject graph

void deletedEdgesUpdate (const std::vector< unsigned int > &edgesToDelete)
 
void deletedNodesUpdate (const std::vector< unsigned int > &nodesToDelete)
 
General Info

General information about the graph

size_t getNumberOfNodes () const
 
size_t getNumberOfEdges () const
 
size_t getNumberOfLeaves () const
 
size_t getDegree (const Nref node) const
 

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)
 

Protected Attributes

std::shared_ptr< TreeGraphImplsubjectGraph_
 
const std::shared_ptr< TreeGraphImplgetGraph () const
 
std::shared_ptr< TreeGraphImplgetGraph ()
 
bool hasNode (Nref nodeObject) const
 
bool hasEdge (Eref edgeObject) const
 
std::string nodeToString (const Nref nodeObject) const
 
std::string edgeToString (const Eref edgeObject) const
 
enum  neighborType
 
std::vector< NrefgraphidToN_
 
std::vector< ErefgraphidToE_
 
std::map< Nref, NodeGraphidNToGraphid_
 
std::map< Eref, EdgeGraphidEToGraphid_
 
std::vector< NrefindexToN_
 
std::vector< ErefindexToE_
 
std::map< Nref, NodeIndexNToIndex_
 
std::map< Eref, EdgeIndexEToIndex_
 
std::vector< NrefgetNeighbors_ (const Nref nodeObject, neighborType type) const
 
std::vector< ErefgetEdges_ (const Nref nodeObject, neighborType type) const
 

Detailed Description

template<class N, class E, class TreeGraphImpl>
class bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >

Definition at line 57 of file AssociationTreeGraphImplObserver.h.

Member Typedef Documentation

◆ EdgeGraphid

template<class N , class E , class TreeGraphImpl >
typedef Graph::EdgeId bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::EdgeGraphid

Definition at line 67 of file AssociationTreeGraphImplObserver.h.

◆ EdgeIndex

template<class N , class E , class TreeGraphImpl >
typedef AssociationGraphObserver<N, E>::EdgeIndex bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::EdgeIndex

Definition at line 63 of file AssociationTreeGraphImplObserver.h.

◆ EdgeIterator

template<class N , class E >
typedef AssociationGraphObserver<N, E>::EdgeIterator bpp::AssociationTreeGraphObserver< N, E >::EdgeIterator
inherited

Definition at line 219 of file AssociationTreeGraphObserver.h.

◆ Eref

using bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::Eref = std::shared_ptr<E>
inherited

Definition at line 71 of file AssociationGraphImplObserver.h.

◆ NodeGraphid

template<class N , class E , class TreeGraphImpl >
typedef Graph::NodeId bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::NodeGraphid

Definition at line 65 of file AssociationTreeGraphImplObserver.h.

◆ NodeIndex

template<class N , class E , class TreeGraphImpl >
typedef AssociationGraphObserver<N, E>::NodeIndex bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::NodeIndex

Definition at line 62 of file AssociationTreeGraphImplObserver.h.

◆ NodeIterator

template<class N , class E >
typedef AssociationGraphObserver<N, E>::NodeIterator bpp::AssociationTreeGraphObserver< N, E >::NodeIterator
inherited

Iterators

Definition at line 218 of file AssociationTreeGraphObserver.h.

◆ Nref

using bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::Nref = std::shared_ptr<N>
inherited

Definition at line 72 of file AssociationGraphImplObserver.h.

Member Enumeration Documentation

◆ neighborType

defines a type of neighbors : incoming and/or outgoing

Definition at line 415 of file AssociationGraphImplObserver.h.

Constructor & Destructor Documentation

◆ AssociationTreeGraphImplObserver() [1/4]

template<class N , class E , class TreeGraphImpl >
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::AssociationTreeGraphImplObserver ( bool  rooted = false)
inline

Constructor

Parameters
rootedif the graph rooted

Definition at line 74 of file AssociationTreeGraphImplObserver.h.

◆ AssociationTreeGraphImplObserver() [2/4]

template<class N , class E , class TreeGraphImpl >
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::AssociationTreeGraphImplObserver ( std::shared_ptr< TreeGraphImpl subjectTreeGraph)
inline

Constructor

Parameters
subjectTreeGraphthe graph which is observed

Definition at line 83 of file AssociationTreeGraphImplObserver.h.

◆ AssociationTreeGraphImplObserver() [3/4]

template<class N , class E , class TreeGraphImpl >
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::AssociationTreeGraphImplObserver ( bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > const &  treeGraphObserver)
inline

Copy Constructor

Parameters
treeGraphObserverthe treeGraphObserver to be copied

Definition at line 92 of file AssociationTreeGraphImplObserver.h.

◆ AssociationTreeGraphImplObserver() [4/4]

template<class N , class E , class TreeGraphImpl >
template<class N2 , class E2 >
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::AssociationTreeGraphImplObserver ( bpp::AssociationTreeGraphImplObserver< N2, E2, TreeGraphImpl > const &  treeGraphObserver)
inline

Copy Constructor

Parameters
treeGraphObserverthe treeGraphObserver to be copied

Definition at line 102 of file AssociationTreeGraphImplObserver.h.

◆ ~AssociationTreeGraphImplObserver()

template<class N , class E , class TreeGraphImpl >
bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::~AssociationTreeGraphImplObserver ( )
inline

Destructor

Definition at line 121 of file AssociationTreeGraphImplObserver.h.

Member Function Documentation

◆ addEdgeIndex()

EdgeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::addEdgeIndex ( const Eref  edgeObject)
inlineinherited

Add an index associated to an edge

Parameters
edgeObjectobject to which one want to set the index
Returns
the given index

Definition at line 888 of file AssociationGraphImplObserver.h.

◆ addNodeIndex()

NodeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::addNodeIndex ( const Nref  nodeObject)
inlineinherited

Set an new index associated to a node

Parameters
nodeObjectobject to which one want to set the index
Returns
the given index

Definition at line 857 of file AssociationGraphImplObserver.h.

◆ addSon()

template<class N , class E , class TreeGraphImpl >
void bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::addSon ( const std::shared_ptr< N >  nodeObject,
const std::shared_ptr< N >  sonNodeObject,
const std::shared_ptr< E >  edgeObject = 0 
)
inlinevirtual

Add a son to a node

Parameters
nodeObjectthe concerned node
sonNodeObjectthe node to be added as a son to the father
edgeObjectthe optional edge between the nodes (default = 00)

Implements bpp::AssociationTreeGraphObserver< N, E >.

Definition at line 324 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeGraphid(), bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph(), and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeGraphid().

◆ allEdgesIterator() [1/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::allEdgesIterator ( )
inlinevirtualinherited

◆ allEdgesIterator() [2/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::allEdgesIterator ( ) const
inlineinherited

Definition at line 1404 of file AssociationGraphImplObserver.h.

◆ allEdgesIterator() [3/3]

◆ allNodesIterator() [1/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::allNodesIterator ( )
inlinevirtualinherited

◆ allNodesIterator() [2/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::allNodesIterator ( ) const
inlinevirtualinherited

◆ allNodesIterator() [3/4]

template<class N , class E >
virtual std::unique_ptr<NodeIterator> bpp::AssociationGraphObserver< N, E >::allNodesIterator ( ) const
pure virtualinherited

◆ allNodesIterator() [4/4]

◆ associateEdge() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::associateEdge ( Eref  edgeObject,
EdgeGraphid  graphEdge 
)
inlinevirtualinherited

Associate a E object to an edge in the graph.

Parameters
edgeObjectobject to associate
graphEdgeexisting edge to be associated

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 590 of file AssociationGraphImplObserver.h.

◆ associateEdge() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::associateEdge ( std::shared_ptr< E >  edgeObject,
EdgeGraphid  edge 
)
pure virtualinherited

Associate a E object to an edge in the graph.

Parameters
edgeObjectobject to associate
edgeexisting edge to be associated

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ associateNode() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::associateNode ( Nref  nodeObject,
NodeGraphid  graphNode 
)
inlinevirtualinherited

Associate a N object to a node in the graph.

Parameters
nodeObjectobject to associate
graphNodeexisting node to be associated

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 570 of file AssociationGraphImplObserver.h.

◆ associateNode() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::associateNode ( std::shared_ptr< N >  nodeObject,
NodeGraphid  node 
)
pure virtualinherited

Associate a N object to a node in the graph.

Parameters
nodeObjectobject to associate
nodeexisting node to be associated

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ branchesIterator() [1/2]

template<class N , class E , class TreeGraphImpl >
std::unique_ptr<typename AssociationTreeGraphObserver<N, E>::EdgeIterator> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::branchesIterator ( std::shared_ptr< N >  node)
inlinevirtual

◆ branchesIterator() [2/2]

template<class N , class E , class TreeGraphImpl >
std::unique_ptr<typename AssociationTreeGraphObserver<N, E>::EdgeIterator> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::branchesIterator ( std::shared_ptr< N >  node) const
inlinevirtual

◆ clone()

template<class N , class E , class TreeGraphImpl >
AssociationTreeGraphImplObserver<N, E, TreeGraphImpl>* bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::clone ( ) const
inlinevirtual

clone function

Implements bpp::Clonable.

Reimplemented in bpp::ComputationTree.

Definition at line 128 of file AssociationTreeGraphImplObserver.h.

◆ copy() [1/5]

template<class N , class E >
template<class A , class B >
static B* bpp::AssociationGraphObserver< N, E >::copy ( const A &  a,
typename std::enable_if< !std::is_base_of< B, A >::value &&!std::is_abstract< B >::value, B * >::type *  = 0 
)
inlinestaticinherited

Specific copy of A and B objects, if clonable or not.

Definition at line 82 of file AssociationGraphObserver.h.

◆ copy() [2/5]

template<class N , class E >
template<class A , class B >
static B* bpp::AssociationGraphObserver< N, E >::copy ( const A &  a,
typename std::enable_if< !std::is_base_of< B, A >::value &&std::is_abstract< B >::value, B * >::type *  = 0 
)
inlinestaticinherited

Definition at line 88 of file AssociationGraphObserver.h.

◆ copy() [3/5]

template<class N , class E >
template<class A , class B >
static B* bpp::AssociationGraphObserver< N, E >::copy ( const A &  a,
typename std::enable_if< std::is_base_of< B, A >::value &&!std::is_abstract< A >::value, B * >::type *  = 0 
)
inlinestaticinherited

Definition at line 95 of file AssociationGraphObserver.h.

◆ copy() [4/5]

template<class N , class E >
template<class A , class B >
static B* bpp::AssociationGraphObserver< N, E >::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 
)
inlinestaticinherited

Definition at line 107 of file AssociationGraphObserver.h.

◆ copy() [5/5]

template<class N , class E >
template<class A , class B >
static B* bpp::AssociationGraphObserver< N, E >::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 
)
inlinestaticinherited

Definition at line 101 of file AssociationGraphObserver.h.

◆ createNode() [1/4]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::createNode ( Nref  nodeObject)
inlinevirtualinherited

Creates an orphaned node from a NodeClass object.

Parameters
nodeObjectthe N object associated to the node in the graph.

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 474 of file AssociationGraphImplObserver.h.

◆ createNode() [2/4]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::createNode ( Nref  objectOriginNode,
Nref  newNodeObject,
Eref  newEdgeObject = 00 
)
inlinevirtualinherited

Creates an node linked to an existing node. Order of parameters match the link method.

Parameters
objectOriginNodeexisting node. In a directed graph: origin -> newNode.
newNodeObjectthe N object associated to the node in the graph.
newEdgeObjectthe optional edge between the nodes (default = 00)

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 491 of file AssociationGraphImplObserver.h.

◆ createNode() [3/4]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::createNode ( std::shared_ptr< N >  newNodeObject)
pure virtualinherited

Creates an orphaned node from a NodeClass object.

Parameters
newNodeObjectthe 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 >.

◆ createNode() [4/4]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::createNode ( std::shared_ptr< N >  objectOriginNode,
std::shared_ptr< N >  newNodeObject,
std::shared_ptr< E >  newEdgeObject = 00 
)
pure virtualinherited

Creates an node linked to an existing node. Order of parameters match the link method.

Parameters
newNodeObjectthe N object associated to the node in the graph.
objectOriginNodeexisting node. In a directed graph: origin -> newNode.
newEdgeObjectoptional edge between nodes (default = 00)

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ deletedEdgesUpdate() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::deletedEdgesUpdate ( const std::vector< unsigned int > &  edgesToDelete)
inlinevirtualinherited

Delete unused object edges, since they have been deleted in the graph

Parameters
edgesToDeletea vector of Edges to delete

Implements bpp::GraphObserver.

Definition at line 1513 of file AssociationGraphImplObserver.h.

◆ deletedEdgesUpdate() [2/2]

virtual void bpp::GraphObserver::deletedEdgesUpdate ( const std::vector< unsigned int > &  edgesToDelete)
pure virtualinherited

Delete unused object edges, since they have been deleted in the graph

Parameters
edgesToDeletea vector of Edges to delete

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ deletedNodesUpdate() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::deletedNodesUpdate ( const std::vector< unsigned int > &  nodesToDelete)
inlinevirtualinherited

Delete unused object nodes, since they have been deleted in the graph

Parameters
nodesToDeletea vector of N to delete

Implements bpp::GraphObserver.

Definition at line 1531 of file AssociationGraphImplObserver.h.

◆ deletedNodesUpdate() [2/2]

virtual void bpp::GraphObserver::deletedNodesUpdate ( const std::vector< unsigned int > &  nodesToDelete)
pure virtualinherited

Delete unused object nodes, since they have been deleted in the graph

Parameters
nodesToDeletea vector of N to delete

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ deleteNode() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::deleteNode ( Nref  nodeObject)
inlinevirtualinherited

Deletes a node

Parameters
nodeObjectnode to be deleted. The N node object given in argument is not deleted.

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 549 of file AssociationGraphImplObserver.h.

◆ deleteNode() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::deleteNode ( std::shared_ptr< N >  nodeObject)
pure virtualinherited

◆ dissociateEdge() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::dissociateEdge ( Eref  edgeObject)
inlinevirtualinherited

◆ dissociateEdge() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::dissociateEdge ( std::shared_ptr< E >  edgeObject)
pure virtualinherited

◆ dissociateNode() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::dissociateNode ( Nref  nodeObject)
inlinevirtualinherited

Dissociate a N or E object to a node or an edge in the graph.

Parameters
nodeObjectobject to dissociate

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 609 of file AssociationGraphImplObserver.h.

◆ dissociateNode() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::dissociateNode ( std::shared_ptr< N >  nodeObject)
pure virtualinherited

Dissociate a N or E object to a node or an edge in the graph. Graph is not changed.

Parameters
nodeObjectobject to dissociate

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ edgeToString()

std::string bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::edgeToString ( const Eref  edgeObject) const
inlineinherited

Definition at line 397 of file AssociationGraphImplObserver.h.

◆ getAllEdges() [1/2]

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllEdges ( ) const
inlinevirtualinherited

Get all the defined branches of a graph,

Returns
a vector containing the branchesObjects

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1441 of file AssociationGraphImplObserver.h.

◆ getAllEdges() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<E> > bpp::AssociationGraphObserver< N, E >::getAllEdges ( ) const
pure virtualinherited

Get all the defined edges of a graphO,

Returns
a vector containing the branchesObjects

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getAllEdgesIndexes() [1/2]

std::vector<EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllEdgesIndexes ( ) const
inlinevirtualinherited

Get indexes of all defined edges of a graph,

Returns
a vector containing the edgesObjects

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1352 of file AssociationGraphImplObserver.h.

◆ getAllEdgesIndexes() [2/2]

template<class N , class E >
virtual std::vector<EdgeIndex> bpp::AssociationGraphObserver< N, E >::getAllEdgesIndexes ( ) const
pure virtualinherited

◆ getAllInnerNodes() [1/2]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllInnerNodes ( ) const
inlinevirtualinherited

Get all the inner nodes of a graph, ie, nodes with degree >= 2.

Returns
a vector containing the inner nodes.

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1272 of file AssociationGraphImplObserver.h.

◆ getAllInnerNodes() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getAllInnerNodes ( ) const
pure virtualinherited

Get all the inner nodes of a graph, ie, nodes with degree >= 2.

Returns
a vector containing the inner nodes.

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getAllInnerNodesIndexes() [1/2]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllInnerNodesIndexes ( ) const
inlinevirtualinherited

Get the indexes of all inner nodes of a graph, ie, nodes with degree >= 2.

Returns
a vector containing the inner nodes.

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1293 of file AssociationGraphImplObserver.h.

◆ getAllInnerNodesIndexes() [2/2]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getAllInnerNodesIndexes ( ) const
pure virtualinherited

◆ getAllLeaves() [1/2]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllLeaves ( ) const
inlinevirtualinherited

Get all the leaves objects of a graph, ie, nodes with only one neighbor,

Returns
a vector containing the leaves

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1229 of file AssociationGraphImplObserver.h.

◆ getAllLeaves() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getAllLeaves ( ) const
pure virtualinherited

Get all the leaves objects of a graph, ie, nodes with only one neighbor,

Returns
a vector containing the leaves

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getAllLeavesIndexes() [1/2]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllLeavesIndexes ( ) const
inlinevirtualinherited

Get index of the leaves objects of a graph, ie, nodes with only one neighbor,

Returns
a vector containing the leaves

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1250 of file AssociationGraphImplObserver.h.

◆ getAllLeavesIndexes() [2/2]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getAllLeavesIndexes ( ) const
pure virtualinherited

◆ getAllNodes() [1/2]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllNodes ( ) const
inlinevirtualinherited

Get all the defined nodes of a graph,

Returns
a vector containing the nodesObjects

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1314 of file AssociationGraphImplObserver.h.

◆ getAllNodes() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getAllNodes ( ) const
pure virtualinherited

Get all the defined nodes of a graphO,

Returns
a vector containing the nodesObjects

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getAllNodesIndexes() [1/2]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getAllNodesIndexes ( ) const
inlinevirtualinherited

Get indexes of all defined nodes of a graph,

Returns
a vector containing the nodesObjects

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1333 of file AssociationGraphImplObserver.h.

◆ getAllNodesIndexes() [2/2]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getAllNodesIndexes ( ) const
pure virtualinherited

◆ getBranches() [1/2]

◆ getBranches() [2/2]

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<E> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getBranches ( const std::shared_ptr< N >  node) const
inlinevirtual

◆ getDegree()

size_t bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getDegree ( const Nref  node) const
inlineinherited

Return the number of neighbors of a node

Parameters
nodethe concerned node
Returns
the number of neighbors

Definition at line 1595 of file AssociationGraphImplObserver.h.

◆ getEdge() [1/2]

Eref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdge ( EdgeIndex  edge) const
inlinevirtualinherited

Return the associated Node index

Parameters
edgeobject which to return the node index
Returns
a node index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 947 of file AssociationGraphImplObserver.h.

◆ getEdge() [2/2]

template<class N , class E >
virtual std::shared_ptr<E> bpp::AssociationGraphObserver< N, E >::getEdge ( EdgeIndex  edgeIndex) const
pure virtualinherited

Return the associated Node index

Parameters
edgeIndexthe index of the wanted edge
Returns
E, an edge object

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getEdgeFromGraphid() [1/4]

Eref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeFromGraphid ( EdgeGraphid  edge)
inlinevirtualinherited

◆ getEdgeFromGraphid() [2/4]

const Eref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeFromGraphid ( EdgeGraphid  edge) const
inlinevirtualinherited

◆ getEdgeFromGraphid() [3/4]

template<class N , class E >
virtual const std::shared_ptr<E> bpp::AssociationGraphObserver< N, E >::getEdgeFromGraphid ( EdgeGraphid  ) const
pure virtualinherited

◆ getEdgeFromGraphid() [4/4]

template<class N , class E >
virtual std::shared_ptr<E> bpp::AssociationGraphObserver< N, E >::getEdgeFromGraphid ( EdgeGraphid  )
pure virtualinherited

◆ getEdgeGraphid() [1/2]

EdgeGraphid bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeGraphid ( const Eref  edgeObject) const
inlinevirtualinherited

Return the associated Edge ID

Parameters
edgeObjectobject which to return the node ID
Returns
a edge ID

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 644 of file AssociationGraphImplObserver.h.

◆ getEdgeGraphid() [2/2]

template<class N , class E >
virtual EdgeGraphid bpp::AssociationGraphObserver< N, E >::getEdgeGraphid ( const std::shared_ptr< E >  edgeObject) const
pure virtualinherited

Return the associated Node ID

Parameters
edgeObjectobject which to return the node ID
Returns
a node ID

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getEdgeIndex() [1/2]

EdgeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeIndex ( const Eref  edgeObject) const
inlinevirtualinherited

Return the associated Node index

Parameters
edgeObjectobject which to return the node index
Returns
a node index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 787 of file AssociationGraphImplObserver.h.

◆ getEdgeIndex() [2/2]

template<class N , class E >
virtual EdgeIndex bpp::AssociationGraphObserver< N, E >::getEdgeIndex ( const std::shared_ptr< E >  edgeObject) const
pure virtualinherited

Return the associated Node index

Parameters
edgeObjectobject which to return the node index
Returns
a node index

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getEdgeIndexes() [1/2]

std::vector<EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeIndexes ( std::vector< Eref edges) const
inlinevirtualinherited

◆ getEdgeIndexes() [2/2]

template<class N , class E >
virtual std::vector<EdgeIndex> bpp::AssociationGraphObserver< N, E >::getEdgeIndexes ( std::vector< std::shared_ptr< E > >  edgeObjects) const
pure virtualinherited

◆ getEdgeLinking() [1/2]

Eref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeLinking ( Nref  nodeA,
Nref  nodeB 
) const
inlinevirtualinherited

Returns the Edge between two nodes nodeA -> nodeB

Parameters
nodeAsource node (if directed)
nodeBdestination node (if directed)
Returns
the edge between these two nodes, or 0 if edge does not exist

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1485 of file AssociationGraphImplObserver.h.

◆ getEdgeLinking() [2/2]

template<class N , class E >
virtual std::shared_ptr<E> bpp::AssociationGraphObserver< N, E >::getEdgeLinking ( std::shared_ptr< N >  nodeA,
std::shared_ptr< N >  nodeB 
) const
pure virtualinherited

Returns the Edge between two nodes nodeA -> nodeB

Parameters
nodeAsource node (if directed)
nodeBdestination node (if directed)
Returns
the edge between these two nodes

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getEdgePathBetweenTwoNodes() [1/2]

template<class N , class E , class TreeGraphImpl >
std::vector<EdgeIndex> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getEdgePathBetweenTwoNodes ( const NodeIndex  nodeA,
const NodeIndex  nodeB,
bool  includeAncestor = true 
) const
inline

◆ getEdgePathBetweenTwoNodes() [2/2]

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<E> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getEdgePathBetweenTwoNodes ( const std::shared_ptr< N >  nodeA,
const std::shared_ptr< N >  nodeB 
) const
inlinevirtual

◆ getEdges() [1/4]

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdges ( const Nref  node) const
inlinevirtualinherited

Get all the edges of a node in the graph.

Parameters
nodethe node one wants to get its edges
Returns
a vector containing the edges

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1132 of file AssociationGraphImplObserver.h.

◆ getEdges() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<E> > bpp::AssociationGraphObserver< N, E >::getEdges ( const std::shared_ptr< N >  node) const
pure virtualinherited

Get all the edges from/to a node in the graph.

Parameters
nodethe node one wants to get its neighbor edges
Returns
a vector containing the edges

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getEdges() [3/4]

std::vector<EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdges ( NodeIndex  node) const
inlinevirtualinherited

◆ getEdges() [4/4]

◆ getEdges_()

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdges_ ( const Nref  nodeObject,
neighborType  type 
) const
inlineprivateinherited

Get incoming / outgoing edges according to the enum type

Definition at line 443 of file AssociationGraphImplObserver.h.

◆ getEdgesFromGraphid() [1/2]

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgesFromGraphid ( std::vector< EdgeGraphid edges) const
inlinevirtualinherited

◆ getEdgesFromGraphid() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<E> > bpp::AssociationGraphObserver< N, E >::getEdgesFromGraphid ( std::vector< EdgeGraphid ) const
pure virtualinherited

◆ getEdgeToFather() [1/2]

◆ getEdgeToFather() [2/2]

template<class N , class E , class TreeGraphImpl >
std::shared_ptr<E> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getEdgeToFather ( const std::shared_ptr< N >  nodeObject) const
inlinevirtual

◆ getFatherOfEdge() [1/2]

◆ getFatherOfEdge() [2/2]

template<class N , class E , class TreeGraphImpl >
std::shared_ptr<N> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getFatherOfEdge ( const std::shared_ptr< E >  edge) const
inlinevirtual

◆ getFatherOfNode()

template<class N , class E , class TreeGraphImpl >
std::shared_ptr<N> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getFatherOfNode ( const std::shared_ptr< N >  nodeObject) const
inlinevirtual

◆ getGraph() [1/2]

std::shared_ptr<TreeGraphImpl > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph ( )
inlineinherited

Definition at line 356 of file AssociationGraphImplObserver.h.

◆ getGraph() [2/2]

const std::shared_ptr<TreeGraphImpl > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph ( ) const
inlineinherited

Definition at line 351 of file AssociationGraphImplObserver.h.

◆ getIncomingEdges() [1/4]

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getIncomingEdges ( const Nref  node) const
inlinevirtualinherited

In an directed graph, get all the edges which are coming to a node in the graph.

Parameters
nodethe node one wants to get its edges
Returns
a vector containing the incoming edges

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1198 of file AssociationGraphImplObserver.h.

◆ getIncomingEdges() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<E> > bpp::AssociationGraphObserver< N, E >::getIncomingEdges ( const std::shared_ptr< N >  node) const
pure virtualinherited

In an directed graph, get all the edges which are coming to a node in the graph.

Parameters
nodethe node one wants to get its edges
Returns
a vector containing the incoming edges

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getIncomingEdges() [3/4]

std::vector<EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getIncomingEdges ( NodeIndex  node) const
inlinevirtualinherited

◆ getIncomingEdges() [4/4]

template<class N , class E >
virtual std::vector<EdgeIndex> bpp::AssociationGraphObserver< N, E >::getIncomingEdges ( NodeIndex  node) const
pure virtualinherited

◆ getIncomingNeighbors() [1/4]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getIncomingNeighbors ( const Nref  node) const
inlinevirtualinherited

In an directed graph, get all the neighbors which are coming to a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the incoming neighbors

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1181 of file AssociationGraphImplObserver.h.

◆ getIncomingNeighbors() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getIncomingNeighbors ( const std::shared_ptr< N >  node) const
pure virtualinherited

In an directed graph, get all the neighbors which are coming to a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the incoming neighbors

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getIncomingNeighbors() [3/4]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getIncomingNeighbors ( NodeIndex  node) const
inlinevirtualinherited

◆ getIncomingNeighbors() [4/4]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getIncomingNeighbors ( NodeIndex  node) const
pure virtualinherited

◆ getLeavesFromNode() [1/2]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getLeavesFromNode ( Nref  node,
unsigned int  maxDepth 
) const
inlinevirtualinherited

Get the leaves of a graph, ie, nodes with only one neighbor, starting from a peculiar node, with maxDepth recursion depths.

Parameters
nodethe starting node
maxDepththe max recursion depth
Returns
a vector containing the leaves

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1218 of file AssociationGraphImplObserver.h.

◆ getLeavesFromNode() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getLeavesFromNode ( std::shared_ptr< N >  node,
unsigned int  maxDepth 
) const
pure virtualinherited

Get the leaves of a graph, ie, nodes with only one neighbor, starting from a peculiar node, up to a specific depth.

Parameters
nodethe starting node
maxDepththe max recursion depth
Returns
a vector containing the leaves

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getLeavesUnderNode() [1/2]

◆ getLeavesUnderNode() [2/2]

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<N> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getLeavesUnderNode ( std::shared_ptr< N >  node) const
inlinevirtual

◆ getNeighbors() [1/4]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNeighbors ( const Nref  node) const
inlinevirtualinherited

Get all the neighbors of a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the neighbors

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1109 of file AssociationGraphImplObserver.h.

◆ getNeighbors() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getNeighbors ( const std::shared_ptr< N >  node) const
pure virtualinherited

Get all the neighbors of a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the neighbors

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getNeighbors() [3/4]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNeighbors ( NodeIndex  node) const
inlinevirtualinherited

Get the index of all neighbors of a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the neighbors

They are in the same order as the graphIds (and not necessary Indexes).

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1121 of file AssociationGraphImplObserver.h.

◆ getNeighbors() [4/4]

◆ getNeighbors_()

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNeighbors_ ( const Nref  nodeObject,
neighborType  type 
) const
inlineprivateinherited

Get incoming / outgoing neighbors according to the enum type

Definition at line 420 of file AssociationGraphImplObserver.h.

◆ getNode() [1/2]

Nref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNode ( NodeIndex  node) const
inlinevirtualinherited

Return the associated Node index

Parameters
nodeobject which to return the node index
Returns
a node index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 937 of file AssociationGraphImplObserver.h.

◆ getNode() [2/2]

template<class N , class E >
virtual std::shared_ptr<N> bpp::AssociationGraphObserver< N, E >::getNode ( NodeIndex  nodeIndex) const
pure virtualinherited

Return the associated Node, querying with an index

Parameters
nodeIndexthe index of the wanted node
Returns
N, a node object

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getNodeFromGraphid() [1/4]

Nref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeFromGraphid ( NodeGraphid  node)
inlinevirtualinherited

Transforms an (a list of) id(s) into an (a list of) object(s)

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 656 of file AssociationGraphImplObserver.h.

◆ getNodeFromGraphid() [2/4]

const Nref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeFromGraphid ( NodeGraphid  node) const
inlinevirtualinherited

Transforms an (a list of) id(s) into an (a list of) object(s)

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 663 of file AssociationGraphImplObserver.h.

◆ getNodeFromGraphid() [3/4]

template<class N , class E >
virtual const std::shared_ptr<N> bpp::AssociationGraphObserver< N, E >::getNodeFromGraphid ( NodeGraphid  ) const
pure virtualinherited

◆ getNodeFromGraphid() [4/4]

template<class N , class E >
virtual std::shared_ptr<N> bpp::AssociationGraphObserver< N, E >::getNodeFromGraphid ( NodeGraphid  )
pure virtualinherited

◆ getNodeGraphid() [1/2]

NodeGraphid bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeGraphid ( const Nref  nodeObject) const
inlinevirtualinherited

Return the associated Node ID

Parameters
nodeObjectobject which to return the node ID
Returns
a node ID

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 630 of file AssociationGraphImplObserver.h.

◆ getNodeGraphid() [2/2]

template<class N , class E >
virtual NodeGraphid bpp::AssociationGraphObserver< N, E >::getNodeGraphid ( const std::shared_ptr< N >  nodeObject) const
pure virtualinherited

Return the associated Node ID

Parameters
nodeObjectobject which to return the node ID
Returns
a node ID

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getNodeIndex() [1/2]

NodeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeIndex ( const Nref  nodeObject) const
inlinevirtualinherited

Return the associated Node index

Parameters
nodeObjectobject which to return the node index
Returns
a node index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 764 of file AssociationGraphImplObserver.h.

◆ getNodeIndex() [2/2]

template<class N , class E >
virtual NodeIndex bpp::AssociationGraphObserver< N, E >::getNodeIndex ( const std::shared_ptr< N >  nodeObject) const
pure virtualinherited

Return the associated Node index

Parameters
nodeObjectobject which to return the node index
Returns
a node index

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getNodeIndexes() [1/2]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeIndexes ( std::vector< Nref nodes) const
inlinevirtualinherited

◆ getNodeIndexes() [2/2]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getNodeIndexes ( std::vector< std::shared_ptr< N > >  nodeObjects) const
pure virtualinherited

◆ getNodePathBetweenTwoNodes() [1/2]

template<class N , class E , class TreeGraphImpl >
std::vector<NodeIndex> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getNodePathBetweenTwoNodes ( const NodeIndex  nodeA,
const NodeIndex  nodeB,
bool  includeAncestor = true 
) const
inline

◆ getNodePathBetweenTwoNodes() [2/2]

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<N> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getNodePathBetweenTwoNodes ( const std::shared_ptr< N >  nodeA,
const std::shared_ptr< N >  nodeB,
bool  includeAncestor = true 
) const
inlinevirtual

Get a vector of ancestor nodes between to nodes.

Parameters
nodeAfirst node.
nodeBsecond node.
includeAncestorTell if the common ancestor must be included in the vector.
Returns
A vector of ancestor nodes ids.
Exceptions
PhyloNodeNotFoundExceptionIf a node is not found.

Implements bpp::AssociationTreeGraphObserver< N, E >.

Definition at line 374 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph(), bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeGraphid(), and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodesFromGraphid().

Referenced by bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getNodePathBetweenTwoNodes().

◆ getNodes()

std::pair<Nref, Nref> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodes ( Eref  edge) const
inlineinherited

Get nodes located at the extremities of an edge

Parameters
edgean edge
Returns
a pair of the Nodes at each extremity of the edge example : N1–E1-->N2; getNodes(E1) will return (N1,N2);

Definition at line 1473 of file AssociationGraphImplObserver.h.

◆ getNodesFromGraphid() [1/2]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodesFromGraphid ( std::vector< NodeGraphid nodes) const
inlinevirtualinherited

◆ getNodesFromGraphid() [2/2]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getNodesFromGraphid ( std::vector< NodeGraphid ) const
pure virtualinherited

◆ getNumberOfEdges()

size_t bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNumberOfEdges ( ) const
inlineinherited

Return the number of defined edges, ie edges that have a corresponding object in this GraphObserver

Returns
the number of edges

Definition at line 1567 of file AssociationGraphImplObserver.h.

◆ getNumberOfLeaves()

size_t bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNumberOfLeaves ( ) const
inlineinherited

Return the number of defined leaves, ie leaves that have a corresponding object in this GraphObserver

Returns
the number of leaves

Definition at line 1578 of file AssociationGraphImplObserver.h.

◆ getNumberOfNodes()

size_t bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNumberOfNodes ( ) const
inlineinherited

Return the number of defined nodes, ie nodes that have a corresponding object in this GraphObserver

Returns
the number of nodes

Definition at line 1557 of file AssociationGraphImplObserver.h.

◆ getNumberOfSons()

template<class N , class E , class TreeGraphImpl >
size_t bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getNumberOfSons ( const std::shared_ptr< N >  node) const
inlinevirtual

Return, in a rooted tree, the number of sons

Parameters
nodethe concerned node
Returns
the number of sons

Implements bpp::AssociationTreeGraphObserver< N, E >.

Definition at line 263 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph(), and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeGraphid().

◆ getOutgoingEdges() [1/4]

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getOutgoingEdges ( const Nref  node) const
inlinevirtualinherited

In an directed graph, get all the edges which are leaving a node in the graph.

Parameters
nodethe node one wants to get its edges
Returns
a vector containing the outgoing edges

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1165 of file AssociationGraphImplObserver.h.

◆ getOutgoingEdges() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<E> > bpp::AssociationGraphObserver< N, E >::getOutgoingEdges ( const std::shared_ptr< N >  node) const
pure virtualinherited

In an directed graph, get all the edges which are leaving a node in the graph.

Parameters
nodethe node one wants to get its edges
Returns
a vector containing the outgoing edges

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getOutgoingEdges() [3/4]

std::vector<EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getOutgoingEdges ( NodeIndex  node) const
inlinevirtualinherited

◆ getOutgoingEdges() [4/4]

template<class N , class E >
virtual std::vector<EdgeIndex> bpp::AssociationGraphObserver< N, E >::getOutgoingEdges ( NodeIndex  node) const
pure virtualinherited

◆ getOutgoingNeighbors() [1/4]

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getOutgoingNeighbors ( const Nref  node) const
inlinevirtualinherited

In an directed graph, get all the neighbors which are leaving a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the outgoing neighbors

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1149 of file AssociationGraphImplObserver.h.

◆ getOutgoingNeighbors() [2/4]

template<class N , class E >
virtual std::vector<std::shared_ptr<N> > bpp::AssociationGraphObserver< N, E >::getOutgoingNeighbors ( const std::shared_ptr< N >  node) const
pure virtualinherited

In an directed graph, get all the neighbors which are leaving a node in the graph.

Parameters
nodethe node one wants to get its neighbors
Returns
a vector containing the outgoing neighbors

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ getOutgoingNeighbors() [3/4]

std::vector<NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getOutgoingNeighbors ( NodeIndex  node) const
inlinevirtualinherited

◆ getOutgoingNeighbors() [4/4]

template<class N , class E >
virtual std::vector<NodeIndex> bpp::AssociationGraphObserver< N, E >::getOutgoingNeighbors ( NodeIndex  node) const
pure virtualinherited

◆ getRoot() [1/2]

Nref bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getRoot ( ) const
inlinevirtualinherited
Returns
the root

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 728 of file AssociationGraphImplObserver.h.

◆ getRoot() [2/2]

template<class N , class E >
virtual std::shared_ptr<N> bpp::AssociationGraphObserver< N, E >::getRoot ( ) const
pure virtualinherited

◆ getRootIndex() [1/2]

NodeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getRootIndex ( ) const
inlinevirtualinherited

◆ getRootIndex() [2/2]

◆ getSon() [1/2]

◆ getSon() [2/2]

template<class N , class E , class TreeGraphImpl >
std::shared_ptr<N> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getSon ( const std::shared_ptr< E >  edge) const
inlinevirtual

◆ getSons() [1/2]

◆ getSons() [2/2]

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<N> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::getSons ( const std::shared_ptr< N >  node) const
inlinevirtual

◆ getSubtreeEdges() [1/2]

◆ getSubtreeEdges() [2/2]

◆ getSubtreeNodes() [1/2]

◆ getSubtreeNodes() [2/2]

◆ hasEdge() [1/3]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasEdge ( EdgeIndex  edge) const
inlinevirtualinherited

Return if has Edge matching EdgeIndex

Parameters
edgeEdgeIndex index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 927 of file AssociationGraphImplObserver.h.

◆ hasEdge() [2/3]

template<class N , class E >
virtual bool bpp::AssociationGraphObserver< N, E >::hasEdge ( EdgeIndex  edgeIndex) const
pure virtualinherited

Return if the Graph has an edge matching edgeIndex

Parameters
edgeIndexthe index of the wanted edge

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ hasEdge() [3/3]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasEdge ( Eref  edgeObject) const
inlineinherited

Definition at line 373 of file AssociationGraphImplObserver.h.

◆ hasEdgeIndex() [1/2]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasEdgeIndex ( const Eref  edgeObject) const
inlinevirtualinherited

◆ hasEdgeIndex() [2/2]

template<class N , class E >
virtual bool bpp::AssociationGraphObserver< N, E >::hasEdgeIndex ( const std::shared_ptr< E >  edgeObject) const
pure virtualinherited

◆ hasFather() [1/2]

◆ hasFather() [2/2]

template<class N , class E , class TreeGraphImpl >
bool bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::hasFather ( const std::shared_ptr< N >  nodeObject) const
inlinevirtual

◆ hasNode() [1/3]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasNode ( NodeIndex  node) const
inlinevirtualinherited

Return if has Node matching NodeIndex

Parameters
nodeNodeIndex index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 918 of file AssociationGraphImplObserver.h.

◆ hasNode() [2/3]

template<class N , class E >
virtual bool bpp::AssociationGraphObserver< N, E >::hasNode ( NodeIndex  nodeIndex) const
pure virtualinherited

Return if the Graph has a node matching nodeIndex

Parameters
nodeIndexthe index of the wanted node

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ hasNode() [3/3]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasNode ( Nref  nodeObject) const
inlineinherited

Definition at line 366 of file AssociationGraphImplObserver.h.

◆ hasNodeIndex() [1/2]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::hasNodeIndex ( const Nref  nodeObject) const
inlinevirtualinherited

return if the object has an index.

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 749 of file AssociationGraphImplObserver.h.

◆ hasNodeIndex() [2/2]

template<class N , class E >
virtual bool bpp::AssociationGraphObserver< N, E >::hasNodeIndex ( const std::shared_ptr< N >  nodeObject) const
pure virtualinherited

◆ incomingEdgesIterator() [1/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::incomingEdgesIterator ( Nref  node)
inlinevirtualinherited

◆ incomingEdgesIterator() [2/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::incomingEdgesIterator ( Nref  node) const
inlineinherited

Definition at line 1432 of file AssociationGraphImplObserver.h.

◆ incomingEdgesIterator() [3/3]

template<class N , class E >
virtual std::unique_ptr<EdgeIterator> bpp::AssociationGraphObserver< N, E >::incomingEdgesIterator ( std::shared_ptr< N >  node)
pure virtualinherited

◆ incomingNeighborNodesIterator() [1/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::incomingNeighborNodesIterator ( Nref  node)
inlinevirtualinherited

◆ incomingNeighborNodesIterator() [2/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::incomingNeighborNodesIterator ( Nref  node) const
inlinevirtualinherited

◆ incomingNeighborNodesIterator() [3/4]

template<class N , class E >
virtual std::unique_ptr<NodeIterator> bpp::AssociationGraphObserver< N, E >::incomingNeighborNodesIterator ( std::shared_ptr< N >  node) const
pure virtualinherited

◆ incomingNeighborNodesIterator() [4/4]

template<class N , class E >
virtual std::unique_ptr<NodeIterator> bpp::AssociationGraphObserver< N, E >::incomingNeighborNodesIterator ( std::shared_ptr< N >  node)
pure virtualinherited

◆ isLeaf() [1/2]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::isLeaf ( const NodeIndex  nodeid) const
inlineinherited

Definition at line 1462 of file AssociationGraphImplObserver.h.

◆ isLeaf() [2/2]

bool bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::isLeaf ( const Nref  node) const
inlineinherited

Is the node a leaf?

Definition at line 1457 of file AssociationGraphImplObserver.h.

◆ isRooted()

template<class N , class E , class TreeGraphImpl >
bool bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::isRooted ( ) const
inlinevirtual

◆ isValid()

template<class N , class E , class TreeGraphImpl >
bool bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::isValid ( ) const
inlinevirtual

Is the graph a tree? A tree must be acyclic and with no isolated node.

Returns
true if valid tree

Implements bpp::AssociationTreeGraphObserver< N, E >.

Definition at line 135 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph().

◆ link() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::link ( Nref  nodeObjectA,
Nref  nodeObjectB,
Eref  edgeObject = 00 
)
inlinevirtualinherited

Creates a link between two existing nodes. If directed graph: nodeA -> nodeB.

Parameters
nodeObjectAsource node (or first node if undirected)
nodeObjectBtarget node (or second node if undirected)
edgeObjectthe optional edge between the nodes (default = 00)

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 506 of file AssociationGraphImplObserver.h.

◆ link() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::link ( std::shared_ptr< N >  nodeObjectA,
std::shared_ptr< N >  nodeObjectB,
std::shared_ptr< E >  edgeObject = 00 
)
pure virtualinherited

Creates a link between two existing nodes. If directed graph: nodeA -> nodeB.

Parameters
nodeObjectAsource node (or first node if undirected)
nodeObjectBtarget node (or second node if undirected)
edgeObjectthe 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 >.

◆ MRCA()

template<class N , class E , class TreeGraphImpl >
std::shared_ptr<N> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::MRCA ( const std::vector< std::shared_ptr< N > >  vNodeObject) const
inline

Return, in a rooted tree, the MRCA node of a vector of nodes

Parameters
vNodeObjectthe vector of concerned nodes
Returns
the MRCA

Definition at line 419 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph(), and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeFromGraphid().

◆ nodeToString()

std::string bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::nodeToString ( const Nref  nodeObject) const
inlineinherited

Definition at line 383 of file AssociationGraphImplObserver.h.

◆ operator=()

template<class N , class E , class TreeGraphImpl >
AssociationTreeGraphImplObserver<N, E, TreeGraphImpl>& bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::operator= ( bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl > const &  treeGraphObserver)
inline

= Operator

Parameters
treeGraphObserverthe treeGraphObserver we want to copy the values

Definition at line 111 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, GraphImpl >::operator=().

◆ outgoingEdgesIterator() [1/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outgoingEdgesIterator ( Nref  node)
inlinevirtualinherited

◆ outgoingEdgesIterator() [2/3]

std::unique_ptr<typename AssociationGraphObserver<N, E>::EdgeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outgoingEdgesIterator ( Nref  node) const
inlineinherited

Definition at line 1418 of file AssociationGraphImplObserver.h.

◆ outgoingEdgesIterator() [3/3]

template<class N , class E >
virtual std::unique_ptr<EdgeIterator> bpp::AssociationGraphObserver< N, E >::outgoingEdgesIterator ( std::shared_ptr< N >  node)
pure virtualinherited

◆ outgoingNeighborNodesIterator() [1/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outgoingNeighborNodesIterator ( Nref  node)
inlinevirtualinherited

◆ outgoingNeighborNodesIterator() [2/4]

std::unique_ptr<typename AssociationGraphObserver<N, E>::NodeIterator> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outgoingNeighborNodesIterator ( Nref  node) const
inlinevirtualinherited

◆ outgoingNeighborNodesIterator() [3/4]

template<class N , class E >
virtual std::unique_ptr<NodeIterator> bpp::AssociationGraphObserver< N, E >::outgoingNeighborNodesIterator ( std::shared_ptr< N >  node) const
pure virtualinherited

◆ outgoingNeighborNodesIterator() [4/4]

template<class N , class E >
virtual std::unique_ptr<NodeIterator> bpp::AssociationGraphObserver< N, E >::outgoingNeighborNodesIterator ( std::shared_ptr< N >  node)
pure virtualinherited

◆ outputToDot() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outputToDot ( const std::string &  fname,
const std::string &  name 
) const
inlineinherited

Definition at line 971 of file AssociationGraphImplObserver.h.

◆ outputToDot() [2/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::outputToDot ( std::ostream &  out,
const std::string &  name 
) const
inlineinherited

Definition at line 979 of file AssociationGraphImplObserver.h.

◆ removeSon()

template<class N , class E , class TreeGraphImpl >
void bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::removeSon ( const std::shared_ptr< N >  node,
const std::shared_ptr< N >  son 
)
inlinevirtual

◆ removeSons()

template<class N , class E , class TreeGraphImpl >
std::vector<std::shared_ptr<N> > bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::removeSons ( const std::shared_ptr< N >  node)
inlinevirtual

◆ rootAt()

template<class N , class E , class TreeGraphImpl >
void bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::rootAt ( const std::shared_ptr< N >  root)
inlinevirtual

◆ setEdgeIndex() [1/2]

EdgeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::setEdgeIndex ( const Eref  edgeObject,
EdgeIndex  index 
)
inlinevirtualinherited

Set an index associated to an edge

Parameters
edgeObjectobject to which one want to set the index
indexintex to be given, 0 to get the first free index
Returns
the given index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 834 of file AssociationGraphImplObserver.h.

◆ setEdgeIndex() [2/2]

template<class N , class E >
virtual EdgeIndex bpp::AssociationGraphObserver< N, E >::setEdgeIndex ( const std::shared_ptr< E >  edgeObject,
EdgeIndex  index 
)
pure virtualinherited

Set an index associated to an edge

Parameters
edgeObjectobject to which one want to set the index
indexintex to be given, 0 to get the first free index
Returns
the given index

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ setEdgeLinking() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::setEdgeLinking ( Nref  nodeA,
Nref  nodeB,
Eref  edge 
)
inlinevirtualinherited

Sets the Edge between two nodes nodeA -> nodeB

Parameters
nodeAsource node (if directed)
nodeBdestination node (if directed)
edgethe edge between these two nodes

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 1496 of file AssociationGraphImplObserver.h.

◆ setEdgeLinking() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::setEdgeLinking ( std::shared_ptr< N >  nodeA,
std::shared_ptr< N >  nodeB,
std::shared_ptr< E >  edge 
)
pure virtualinherited

Sets the Edge between two nodes nodeA -> nodeB

Parameters
nodeAsource node (if directed)
nodeBdestination node (if directed)
edgethe edge between these two nodes

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ setFather()

template<class N , class E , class TreeGraphImpl >
void bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::setFather ( const std::shared_ptr< N >  nodeObject,
const std::shared_ptr< N >  fatherNodeObject,
const std::shared_ptr< E >  edgeObject = 0 
)
inlinevirtual

Change / set the father of a node

Parameters
nodeObjectthe concerned node
fatherNodeObjectthe node to be the father
edgeObjectthe optional edge between the nodes (default = 00)

Implements bpp::AssociationTreeGraphObserver< N, E >.

Definition at line 308 of file AssociationTreeGraphImplObserver.h.

References bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getEdgeGraphid(), bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getGraph(), and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::getNodeGraphid().

Referenced by bpp::ComputationTree::readFormula_().

◆ setNodeIndex() [1/2]

NodeIndex bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::setNodeIndex ( const Nref  nodeObject,
NodeIndex  index 
)
inlinevirtualinherited

Set an index associated to a node

Parameters
nodeObjectobject to which one want to set the index
indexindex to be given
Returns
the given index

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 810 of file AssociationGraphImplObserver.h.

◆ setNodeIndex() [2/2]

template<class N , class E >
virtual NodeIndex bpp::AssociationGraphObserver< N, E >::setNodeIndex ( const std::shared_ptr< N >  nodeObject,
NodeIndex  index 
)
pure virtualinherited

Set an index associated to a node

Parameters
nodeObjectobject to which one want to set the index
indexintex to be given, 0 to get the first free index
Returns
the given index

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

◆ setRoot()

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::setRoot ( const Nref  newRoot)
inlineinherited

set the root (but no checking, to be used at first construction)

Definition at line 720 of file AssociationGraphImplObserver.h.

◆ sonsIterator() [1/2]

template<class N , class E , class TreeGraphImpl >
std::unique_ptr<typename AssociationTreeGraphObserver<N, E>::NodeIterator> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::sonsIterator ( std::shared_ptr< N >  node)
inlinevirtual

◆ sonsIterator() [2/2]

template<class N , class E , class TreeGraphImpl >
std::unique_ptr<typename AssociationTreeGraphObserver<N, E>::NodeIterator> bpp::AssociationTreeGraphImplObserver< N, E, TreeGraphImpl >::sonsIterator ( std::shared_ptr< N >  node) const
inlinevirtual

◆ unlink() [1/2]

void bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::unlink ( Nref  nodeObjectA,
Nref  nodeObjectB 
)
inlinevirtualinherited

Deletes the link between two existing nodes in the graph.

Implements bpp::AssociationGraphObserver< N, E >.

Definition at line 533 of file AssociationGraphImplObserver.h.

◆ unlink() [2/2]

template<class N , class E >
virtual void bpp::AssociationGraphObserver< N, E >::unlink ( std::shared_ptr< N >  nodeObjectA,
std::shared_ptr< N >  nodeObjectB 
)
pure virtualinherited

Detroys a link between two existing nodes in the graph. If directed graph: nodeA -> nodeB.

Parameters
nodeObjectAsource node (or first node if undirected)
nodeObjectBtarget node (or second node if undirected)

Implemented in bpp::AssociationGraphImplObserver< N, E, GraphImpl >, bpp::AssociationGraphImplObserver< N, E, DAGraphImpl >, and bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >.

Member Data Documentation

◆ EToGraphid_

std::map<Eref, EdgeGraphid> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::EToGraphid_
privateinherited

Can find an Edge with the corresponding object.

Definition at line 109 of file AssociationGraphImplObserver.h.

◆ EToIndex_

std::map<Eref, EdgeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::EToIndex_
privateinherited

Can find an Edge index with the corresponding object.

Definition at line 139 of file AssociationGraphImplObserver.h.

◆ graphidToE_

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::graphidToE_
privateinherited

List of edges, stored at the same ID than the corresponding edges in the observed graph.

Definition at line 99 of file AssociationGraphImplObserver.h.

◆ graphidToN_

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::graphidToN_
privateinherited

Registration with Graph Ids. List of nodes, stored at the same ID than the corresponding nodes in the observed graph.

Definition at line 93 of file AssociationGraphImplObserver.h.

◆ indexToE_

std::vector<Eref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::indexToE_
privateinherited

List of edges, stored at a given index.

Definition at line 129 of file AssociationGraphImplObserver.h.

◆ indexToN_

std::vector<Nref > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::indexToN_
privateinherited

Registration with own Ids (named as index). List of nodes, stored at a given index.

Definition at line 124 of file AssociationGraphImplObserver.h.

◆ NToGraphid_

std::map<Nref, NodeGraphid> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::NToGraphid_
privateinherited

Can find a Node with the corresponding object.

Definition at line 104 of file AssociationGraphImplObserver.h.

◆ NToIndex_

std::map<Nref, NodeIndex> bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::NToIndex_
privateinherited

Can find a Node index with the corresponding object.

Definition at line 134 of file AssociationGraphImplObserver.h.

◆ subjectGraph_

std::shared_ptr<TreeGraphImpl > bpp::AssociationGraphImplObserver< N, E, TreeGraphImpl >::subjectGraph_
protectedinherited

The observed Graph. Anytime this graph is observed, the current object will be warned to take changes into account.

Definition at line 80 of file AssociationGraphImplObserver.h.


The documentation for this class was generated from the following file: