src/biu/AllowedBasePairs.hh
Go to the documentation of this file.00001 #ifndef ALLOWEDBASEPAIRS_HH_ 00002 #define ALLOWEDBASEPAIRS_HH_ 00003 00004 #include <set> 00005 00006 #include "biu/Alphabet.hh" 00007 #include "biu/Matrix.hh" 00008 00009 namespace biu 00010 { 00018 class AllowedBasePairs { 00019 private: 00021 typedef std::pair<Alphabet::AlphElem, Alphabet::AlphElem> BPair; 00022 00024 const Alphabet* alph; 00025 00027 biu::Matrix< bool > allowedPairs ; 00028 00029 public: 00037 AllowedBasePairs( const Alphabet* alphabet 00038 , const std::string& bps 00039 , const bool symmetric = true ); 00040 00041 ~AllowedBasePairs(); 00042 00043 bool operator== (const AllowedBasePairs& abp2) const; 00044 bool operator!= (const AllowedBasePairs& abp2) const; 00045 00049 bool allowedBasePair( const Alphabet::AlphElem& first, 00050 const Alphabet::AlphElem& second) const; 00051 00053 const Alphabet* getAlphabet() const; 00054 00055 00056 }; 00057 00058 00059 } // namespace biu 00060 00061 #include "biu/AllowedBasePairs.icc" 00062 00063 #endif /*ALLOWEDBASEPAIRS_HH_*/