// -*- 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 TILE_LIST_H #define TILE_LIST_H /*****************************************************************************/ #include #include /*****************************************************************************/ class Tile_List { public: Tile_List(const std::string& tile_list_file_path_str="tiles.txt"); ~Tile_List(); typedef std::list Tile_Name_List; typedef Tile_Name_List::const_iterator Tile_Name_List_CIter; bool find_tiles(const std::string& search_prefix_str, Tile_Name_List& tile_name_list, const std::string& suffix_to_append_str = "", const std::string& read_str = "", const std::string& path_to_prepend_str = ""); const Tile_Name_List &get_tile_name_list() {return my_full_tile_name_list;} private: bool load(); std::string my_tile_list_file_path_str; Tile_Name_List my_full_tile_name_list; bool my_list_is_loaded; }; /*****************************************************************************/ #endif // ! TILE_LIST_H /*****************************************************************************/