bpp-phyl3 3.0.0
IoTreeFactory.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_PHYL_IO_IOTREEFACTORY_H
6#define BPP_PHYL_IO_IOTREEFACTORY_H
7
8
9#include "IoTree.h"
10
11namespace bpp
12{
20{
21public:
22 static const std::string NEWICK_FORMAT;
23 static const std::string NEXUS_FORMAT;
24 static const std::string NHX_FORMAT;
25
26public:
38 virtual ~IOTreeFactory() {}
39
47 virtual std::unique_ptr<ITree> createReader(const std::string& format);
48
56 virtual std::unique_ptr<OTree> createWriter(const std::string& format);
57};
58} // end of namespace bpp.
59#endif // BPP_PHYL_IO_IOTREEFACTORY_H
Utilitary class for creating tree readers and writers.
Definition: IoTreeFactory.h:20
virtual std::unique_ptr< ITree > createReader(const std::string &format)
Get a new dynamically created ITree object.
virtual std::unique_ptr< OTree > createWriter(const std::string &format)
Get a new dynamically created OTree object.
static const std::string NEXUS_FORMAT
Definition: IoTreeFactory.h:23
IOTreeFactory()
Creates a new factory object.
Definition: IoTreeFactory.h:37
virtual ~IOTreeFactory()
Definition: IoTreeFactory.h:38
static const std::string NHX_FORMAT
Definition: IoTreeFactory.h:24
static const std::string NEWICK_FORMAT
Definition: IoTreeFactory.h:22
Defines the basic types of data flow nodes.