// -*- c++ -*- /*****************************************************************************/ // Copyright (c) Illumina 2008 // Author: Richard Shaw // // This software is covered by the "Illumina Genome Analyzer Software // License Agreement" and the "Illumina Source Code License Agreement", // and certain third party copyright/licenses, and any user of this // source file is bound by the terms therein (see accompanying files // Illumina_Genome_Analyzer_Software_License_Agreement.pdf and // Illumina_Source_Code_License_Agreement.pdf and third party // copyright/license notices). /*****************************************************************************/ #ifndef PATTERN_INFO_H #define PATTERN_INFO_H /*****************************************************************************/ #include #include #include /*****************************************************************************/ class Pattern_Info { friend std::ostream& operator<<(std::ostream&, const Pattern_Info&); public: Pattern_Info(); ~Pattern_Info(); Pattern_Info& add_pattern(const std::string& pattern_str); unsigned int num_patterns() const { return my_num_patterns; } typedef std::map Str_Junk_Map; typedef std::pair Str_Junk_Map_Ele; typedef Str_Junk_Map::const_iterator Str_Junk_Map_CIter; private: Str_Junk_Map my_str_junk_map; enum { MAX_NUM_PATTERNS_TO_LIST_PER_RANK = 6 }; unsigned int my_num_patterns; }; /*****************************************************************************/ std::ostream& operator<<(std::ostream& ostrm, const Pattern_Info& pattern_info); /*****************************************************************************/ #endif // ! PATTERN_INFO_H /*****************************************************************************/