5 #ifndef BPP_SEQ_CONTAINER_ABSTRACTSEQUENCECONTAINER_H
6 #define BPP_SEQ_CONTAINER_ABSTRACTSEQUENCECONTAINER_H
10 #include "../Alphabet/Alphabet.h"
11 #include "../Sequence.h"
12 #include "../Commentable.h"
22 template<
class SequenceType,
class HashType = std::
string>
97 if (!
alphabet_)
throw Exception(
"AbstractSequenceContainer::alphabet() : no associated alphabet.");
Partial implementation of the SequenceContainer interface.
virtual ~AbstractTemplateSequenceContainer()
std::shared_ptr< const Alphabet > alphabet_
The container's alphabet.
AbstractTemplateSequenceContainer & operator=(const AbstractTemplateSequenceContainer< SequenceType, HashType > &sc)
AbstractTemplateSequenceContainer(const TemplateSequenceContainerInterface< SequenceType, HashType > &sc)
Copy constructor from any SequenceContainer object.
AbstractTemplateSequenceContainer & operator=(const TemplateSequenceContainerInterface< SequenceType, HashType > &sc)
Assignation operator from any SequenceContainer object.
AbstractTemplateSequenceContainer(std::shared_ptr< const Alphabet > alphabet, const Comments &comments)
This constructor initializes the alphabet pointer and the comments field.
AbstractTemplateSequenceContainer(std::shared_ptr< const Alphabet > alphabet)
This constructor initializes the alphabet pointer.
const Alphabet & alphabet() const override
Get the container's alphabet.
std::shared_ptr< const Alphabet > getAlphabet() const override
Get a pointer toward the container's alphabet.
AbstractTemplateSequenceContainer(const AbstractTemplateSequenceContainer< SequenceType, HashType > &sc)
The SequenceContainer interface.
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
Get a pointer toward the container's alphabet.
This alphabet is used to deal NumericAlphabet.
std::vector< std::string > Comments
Declaration of Comments type.