Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Examples  

fasta.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00005 #ifndef FASTA_H
00006 #define FASTA_H
00007 
00008 #include <string>
00009 #include <list>
00010 #include <iostream>
00011 #include "fasta_seq.h"
00012 
00013 namespace bioinfo
00014 {
00015 
00025   template <typename seqtype = std::string>
00026     class fasta : public std::list<fasta_seq<seqtype>*> 
00027     {
00028       public:
00032       fasta() { }
00033 
00039       fasta(const std::string&);
00040 
00044       ~fasta();
00045 
00050       void write(const std::string&) const;
00051 
00056       void read(const std::string&);
00057 
00058     };
00059 
00060 } // namespace bioinfo;
00061 
00062 namespace std
00063 {
00064 
00066   template <typename seqtype>
00067   std::ostream& 
00068     operator<<(std::ostream&, const bioinfo::fasta<seqtype>&);
00069 
00070   template <typename seqtype>
00071   std::istream& 
00072     operator>>(std::istream&, const bioinfo::fasta<seqtype>&);
00074 }
00075 
00076 
00077 #include "fasta.hpp"
00078 
00082 #endif // FASTA_H