Generated on Tue Dec 16 12:49:16 2008 for BIU-2.2.0 by doxygen 1.5.1

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_*/