bpp-core3  3.0.0
IoDiscreteDistribution.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_IO_IODISCRETEDISTRIBUTION_H
6 #define BPP_IO_IODISCRETEDISTRIBUTION_H
7 
8 
9 #include "../Exceptions.h"
10 #include "../Numeric/Prob/DiscreteDistribution.h"
11 #include "IoFormat.h"
12 #include "OutputStream.h"
13 
14 namespace bpp
15 {
20  public virtual IOFormat
21 {
22 public:
25 
26 public:
27  virtual const std::string getDataType() const { return "Discrete Distribution"; }
28 };
29 
34  public virtual IoDiscreteDistribution
35 {
36 public:
39 
40 public:
49  virtual std::unique_ptr<DiscreteDistributionInterface> readDiscreteDistribution(
50  const std::string& distrDescription,
51  bool parseArguments = true) = 0;
52 
56  virtual const std::map<std::string, std::string>& getUnparsedArguments() const = 0;
57 };
58 
63  public virtual IoDiscreteDistribution
64 {
65 public:
68 
69 public:
80  virtual void writeDiscreteDistribution(
82  OutputStream& out,
83  std::map<std::string, std::string>& globalAliases,
84  std::vector<std::string>& writtenNames) const = 0;
85 };
86 } // end of namespace bpp.
87 #endif // BPP_IO_IODISCRETEDISTRIBUTION_H
General interface for distance matrix readers.
General interface writers.
Interface for discrete distribution objects.
The IOFormat interface.
Definition: IoFormat.h:21
OutputStream interface.
Definition: OutputStream.h:29
virtual const std::string getDataType() const
Get the type of data this format deals with.
General interface for model I/O.