bpp-core3  3.0.0
GraphObserver.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_GRAPH_GRAPHOBSERVER_H
6 #define BPP_GRAPH_GRAPHOBSERVER_H
7 
8 #include <iostream>
9 #include <map>
10 #include <ostream>
11 #include <vector>
12 
13 #include "../Clonable.h"
14 #include "../Exceptions.h"
15 #include "Graph.h"
16 
17 namespace bpp
18 {
29 // interface
30 
32  public virtual Clonable
33 {
34 public:
38  // /@{
39 
44  virtual void deletedEdgesUpdate(const std::vector< unsigned int >& edgesToDelete) = 0;
45 
50  virtual void deletedNodesUpdate(const std::vector< unsigned int >& nodesToDelete) = 0;
51 
52  // /@}
53 };
54 }
55 
56 #else
57 
58 namespace bpp
59 {class GraphObserver; }
60 #endif // BPP_GRAPH_GRAPHOBSERVER_H
virtual void deletedEdgesUpdate(const std::vector< unsigned int > &edgesToDelete)=0
virtual void deletedNodesUpdate(const std::vector< unsigned int > &nodesToDelete)=0
The Clonable interface (allow an object to be cloned).
Definition: Clonable.h:63
Defines a Graph Observer. It is a template which follows (subscribed to) a Graph. The graph and the g...
Definition: GraphObserver.h:31