コード例 #1
0
ファイル: header.cpp プロジェクト: DylanGraham/vcftools
void header::reparse()
{
	unsigned int index = 0;
	has_idx = false; contig_index = 0;
	vector<string> old_lines(lines.size(),"");
	copy(lines.begin(), lines.end(), old_lines.begin());
	lines.resize(0);

	INFO_map.clear(); INFO_reverse_map.clear();
	FILTER_map.clear(); FILTER_reverse_map.clear();
	FORMAT_map.clear(); FORMAT_reverse_map.clear();
	CONTIG_map.clear(); CONTIG_reverse_map.clear();

	index += add_FILTER_descriptor("ID=PASS,Description=PASS", index);
	for (unsigned int ui=0; ui<old_lines.size(); ui++)
		parse_meta(old_lines[ui],index);
}
コード例 #2
0
  // embed lines within new tag and indent embedded lines two spaces
  static void embed_in_tag(std::string tag, std::vector<std::string>& lines) {
    std::string open_tag = "<" + tag + ">";
    std::string close_tag = "</" + tag + ">";

    std::vector<std::string> old_lines(lines);
    lines.clear();

    // put in open tag
    lines.push_back("  " + open_tag);

    // put in indented lines
    for (std::vector<std::string>::const_iterator it = old_lines.begin(); it != old_lines.end(); ++it) {
      lines.push_back("  " + *it);
    }

    // put in close tag
    lines.push_back("  " + close_tag);
  }