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.
NNITopologySearch(const NNITopologySearch &ts)
NNITopologySearch & operator=(const NNITopologySearch &ts)
static const std::string PHYML
std::vector< std::shared_ptr< TopologyListener > > topoListeners_
std::shared_ptr< const NNISearchable > getSearchableObject() const
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.
const Tree & topology() const
Retrieve the tree.
std::shared_ptr< NNISearchable > getSearchableObject()
static const std::string FAST
static const std::string BETTER
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.