Gamgee
You miserable little maggot. I'll stove your head in!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
fastq_reader.h
Go to the documentation of this file.
1 #ifndef __foghorn__fastq_reader__
2 #define __foghorn__fastq_reader__
3 
4 #include "fastq_iterator.h"
5 
6 #include <string>
7 #include <iostream>
8 #include <fstream>
9 
10 namespace gamgee {
11 
34 class FastqReader {
35  public:
36 
43  FastqReader(const std::string& filename);
44 
51  FastqReader(std::istream* const input);
52 
56  ~FastqReader();
57 
63 
67  FastqReader(const FastqReader&) = delete;
68 
76 
83 
84 private:
85  std::istream* m_input_stream;
86  std::ifstream m_file_stream;
87 };
88 
89 } // end of namespace
90 
91 #endif /* defined(__foghorn__fastq_iterator__) */
Utility class to read many Fastq records from a stream (e.g. Fastq file, stdin, ...) in a for-each loop in a for-each loop.
Definition: fastq_reader.h:34
FastqReader(const std::string &filename)
reades through all records in a file (fasta or fastq) parsing them into Fastq objects ...
Definition: fastq_reader.cpp:14
FastqIterator begin()
creates a FastqIterator pointing at the start of the input stream (needed by for-each loop) ...
Definition: fastq_reader.cpp:29
FastqIterator end()
creates a FastqIterator with a nullified input stream (needed by for-each loop)
Definition: fastq_reader.cpp:33
Utility class to enable for-each style iteration in the FastqReader class.
Definition: fastq_iterator.h:12
~FastqReader()
closes the file stream if there is one (in case we are reading a fasta/fastq file) ...
Definition: fastq_reader.cpp:21