bpp-phyl3 3.0.0
SequenceSimulator.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_SIMULATION_SEQUENCESIMULATOR_H
6#define BPP_PHYL_SIMULATION_SEQUENCESIMULATOR_H
7
8
9// From bpp-core:
10#include <Bpp/Clonable.h>
11
12// From bpp-seq:
14
15#include "SiteSimulator.h"
16
17namespace bpp
18{
24 public virtual Clonable
25{
26public:
29
30 SequenceSimulatorInterface* clone() const override = 0;
31
32public:
33 virtual std::unique_ptr<SiteContainerInterface> simulate(size_t numberOfSites) const = 0;
34
35 virtual const SiteSimulatorInterface& siteSimulator(size_t pos) const = 0;
36
37 virtual std::vector<std::string> getSequenceNames() const = 0;
38
39 virtual std::shared_ptr<const Alphabet> getAlphabet() const = 0;
40
41 virtual const Alphabet& alphabet() const = 0;
42
43 virtual void outputInternalSequences(bool inter) = 0;
44};
45} // end of namespace bpp.
46#endif // BPP_PHYL_SIMULATION_SEQUENCESIMULATOR_H
The SequenceSimulator interface. SequenceSimulator classes can simulate whole datasets.
virtual const Alphabet & alphabet() const =0
virtual void outputInternalSequences(bool inter)=0
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
virtual std::vector< std::string > getSequenceNames() const =0
virtual const SiteSimulatorInterface & siteSimulator(size_t pos) const =0
virtual std::unique_ptr< SiteContainerInterface > simulate(size_t numberOfSites) const =0
SequenceSimulatorInterface * clone() const override=0
The SiteSimulator interface. SiteSimulator classes can simulate single sites.
Definition: SiteSimulator.h:24
Defines the basic types of data flow nodes.