5 #ifndef BPP_PHYL_IO_NEXUSIOTREE_H
6 #define BPP_PHYL_IO_NEXUSIOTREE_H
9 #include "../Tree/PhyloTree.h"
10 #include "../Tree/TreeTemplate.h"
62 std::unique_ptr<TreeTemplate<Node>>
readTreeTemplate(std::istream& in)
const override;
66 std::unique_ptr<PhyloTree>
readPhyloTree(std::istream& in)
const override;
97 void readTrees(std::istream& in, std::vector<std::unique_ptr<Tree>>& trees)
const override;
101 void readPhyloTrees(std::istream& in, std::vector<std::unique_ptr<PhyloTree>>& trees)
const override;
111 void writeTrees(
const std::vector<const Tree*>& trees, std::ostream& out)
const override
118 void writePhyloTrees(
const std::vector<const PhyloTree*>& trees, std::ostream& out)
const override
125 void write_(
const Tree& tree, std::ostream& out)
const;
132 void write_(
const std::vector<const Tree*>& trees, std::ostream& out)
const;
134 void write_(
const std::vector<const PhyloTree*>& trees, std::ostream& out)
const;
Partial implementation of the IMultiTree interface.
virtual void readPhyloTrees(std::istream &in, std::vector< std::unique_ptr< PhyloTree >> &trees) const override=0
Read trees from a stream.
Partial implementation of the IMultiTree interface.
virtual void readTrees(std::istream &in, std::vector< std::unique_ptr< Tree >> &trees) const override=0
Read trees from a stream.
std::unique_ptr< PhyloTree > readPhyloTree(std::istream &in) const override=0
Read a tree from a stream.
Partial implementation of the ITree interface.
virtual std::unique_ptr< TreeTemplate< Node > > readTreeTemplate(std::istream &in) const =0
Partial implementation of the OTree interface.
virtual void writePhyloTrees(const std::vector< const PhyloTree * > &trees, std::ostream &out) const =0
Write trees to a stream.
Partial implementation of the OTree interface.
virtual void writeTrees(const std::vector< const Tree * > &trees, std::ostream &out) const =0
Write trees to a stream.
Partial implementation of the OTree interface.
virtual void writePhyloTree(const PhyloTree &tree, std::ostream &out) const =0
Write a tree to a stream.
Partial implementation of the OTree interface.
virtual void writeTree(const Tree &tree, std::ostream &out) const =0
Write a tree to a stream.
a simple parser for reading trees from a Nexus file.
virtual std::unique_ptr< TreeTemplate< Node > > readTreeTemplate(std::istream &in) const=0
void writePhyloTree(const PhyloTree &tree, std::ostream &out) const override
Write a tree to a stream.
void writeTrees(const std::vector< const Tree * > &trees, std::ostream &out) const override
Write trees to a stream.
virtual void readPhyloTrees(std::istream &in, std::vector< std::unique_ptr< PhyloTree >> &trees) const override=0
const std::string getFormatDescription() const override
std::unique_ptr< PhyloTree > readPhyloTree(std::istream &in) const override=0
void writeTree(const Tree &tree, std::ostream &out) const override
Write a tree to a stream.
void writePhyloTrees(const std::vector< const PhyloTree * > &trees, std::ostream &out) const override
Write trees to a stream.
void write_(const Tree &tree, std::ostream &out) const
NexusIOTree()
Build a new Nexus tree parser.
virtual void readTrees(std::istream &in, std::vector< std::unique_ptr< Tree >> &trees) const override=0
const std::string getFormatName() const override
The phylogenetic tree class.
Interface for phylogenetic tree objects.
Defines the basic types of data flow nodes.