5 #ifndef BPP_PHYL_LEGACY_TREE_NNITOPOLOGYSEARCH_H
6 #define BPP_PHYL_LEGACY_TREE_NNITOPOLOGYSEARCH_H
9 #include "../../Tree/NNISearchable.h"
10 #include "../../Tree/TopologySearch.h"
30 const static std::string
FAST;
42 std::shared_ptr<NNISearchable> tree,
43 const std::string& algorithm =
FAST,
44 unsigned int verbose = 2) :
NNI topology search method.
std::shared_ptr< const NNISearchable > getSearchableObject() const
NNITopologySearch(const NNITopologySearch &ts)
static const std::string PHYML
NNITopologySearch & operator=(const NNITopologySearch &ts)
std::vector< std::shared_ptr< TopologyListener > > topoListeners_
std::shared_ptr< NNISearchable > searchableTree_
void notifyAllTested(const TopologyChangeEvent &event)
Process a TopologyChangeEvent to all listeners.
void notifyAllPerformed(const TopologyChangeEvent &event)
Process a TopologyChangeEvent to all listeners.
static const std::string FAST
std::shared_ptr< NNISearchable > getSearchableObject()
static const std::string BETTER
const Tree & topology() const
Retrieve the tree.
void search()
Performs the search.
NNITopologySearch(std::shared_ptr< NNISearchable > tree, const std::string &algorithm=FAST, unsigned int verbose=2)
void notifyAllSuccessful(const TopologyChangeEvent &event)
Process a TopologyChangeEvent to all listeners.
void addTopologyListener(std::shared_ptr< TopologyListener > listener)
Add a listener to the list.
virtual ~NNITopologySearch()
Class for notifying new toplogy change events.
Interface for topology search methods.
Interface for phylogenetic tree objects.
Defines the basic types of data flow nodes.