bpp-seq3  3.0.0
AlignmentData.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_SEQ_CONTAINER_ALIGNMENTDATA_H
6 #define BPP_SEQ_CONTAINER_ALIGNMENTDATA_H
7 
8 #include <Bpp/Exceptions.h>
10 #include "SequenceData.h"
11 #include "../CoreSite.h"
12 
13 // From the STL:
14 #include <string>
15 namespace bpp
16 {
23 template<class HashType = std::string>
25  public virtual TemplateSequenceDataInterface<HashType>
26 {
27 public:
30 
31  TemplateAlignmentDataInterface* clone() const override = 0;
32 
33 
39  virtual const CoreSiteInterface& site(size_t siteIndex) const = 0;
40 
48  virtual void deleteSites(size_t siteIndex, size_t length) = 0;
49 
55  virtual size_t getNumberOfSites() const = 0;
56 
60  virtual void reindexSites() = 0;
61 
67  virtual Vint getSiteCoordinates() const = 0;
68 
74  virtual void setSiteCoordinates(const Vint& vCoordinates) = 0;
75 };
76 
78 } // end of namespace bpp.
79 #endif // BPP_SEQ_CONTAINER_ALIGNEDVALUESCONTAINER_H
The core site interface.
Definition: CoreSite.h:25
The Container of Aligned Values interface.
Definition: AlignmentData.h:26
virtual const CoreSiteInterface & site(size_t siteIndex) const =0
Get a site from a given position.
virtual size_t getNumberOfSites() const =0
Get the number of aligned positions in the container.
virtual void setSiteCoordinates(const Vint &vCoordinates)=0
Set all coordinates of sites.
virtual void reindexSites()=0
Set all positions attributes.
virtual void deleteSites(size_t siteIndex, size_t length)=0
Remove a continuous range of sites in the container.
virtual Vint getSiteCoordinates() const =0
Get all coordinates of sites.
TemplateAlignmentDataInterface * clone() const override=0
The SequenceData interface.
Definition: SequenceData.h:30
This alphabet is used to deal NumericAlphabet.
std::vector< int > Vint