5 #ifndef BPP_SEQ_ALPHABETINDEX_ALPHABETINDEX1_H
6 #define BPP_SEQ_ALPHABETINDEX_ALPHABETINDEX1_H
10 #include "../Alphabet/Alphabet.h"
11 #include "../Alphabet/AlphabetTools.h"
12 #include "../Alphabet/ProteicAlphabet.h"
48 virtual double getIndex(
const std::string& state)
const = 0;
55 virtual std::shared_ptr<const Alphabet>
getAlphabet()
const = 0;
79 std::shared_ptr<const ProteicAlphabet>
alpha_;
One dimensionnal alphabet index interface.
virtual const Alphabet & alphabet() const =0
Get the alphabet associated to this index.
virtual double getIndex(const std::string &state) const =0
Get the index associated to a state.
virtual const std::vector< double > & indexVector() const =0
virtual double getIndex(int state) const =0
Get the index associated to a state.
virtual ~AlphabetIndex1()
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
Get the alphabet associated to this index.
virtual AlphabetIndex1 * clone() const override=0
ProteicAlphabetIndex1(const ProteicAlphabetIndex1 &pt)
virtual ProteicAlphabetIndex1 * clone() const override=0
virtual ~ProteicAlphabetIndex1()
std::shared_ptr< const Alphabet > getAlphabet() const override
Get the alphabet associated to this index.
ProteicAlphabetIndex1 & operator=(const ProteicAlphabetIndex1 &pt)
const Alphabet & alphabet() const override
Get the alphabet associated to this index.
std::shared_ptr< const ProteicAlphabet > alpha_
This alphabet is used to deal NumericAlphabet.