X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2Finternal%2FSamFormatPrinter_p.cpp;h=a5b61a017bbdf4bcaa63d26b2e489a8078f31e5a;hb=270452a6f0a98cb1e4260b5501fe780c9b1806c0;hp=1e670b0155be479d88d9ed6d21b1c406600313af;hpb=cdf4bbcb19025398d429035fe672661a8c8d1a80;p=bamtools.git diff --git a/src/api/internal/SamFormatPrinter_p.cpp b/src/api/internal/SamFormatPrinter_p.cpp index 1e670b0..a5b61a0 100644 --- a/src/api/internal/SamFormatPrinter_p.cpp +++ b/src/api/internal/SamFormatPrinter_p.cpp @@ -1,16 +1,15 @@ // *************************************************************************** // SamFormatPrinter.cpp (c) 2010 Derek Barnett // Marth Lab, Department of Biology, Boston College -// All rights reserved. // --------------------------------------------------------------------------- -// Last modified: 19 April 2011 (DB) +// Last modified: 12 October 2011 (DB) // --------------------------------------------------------------------------- // Provides functionality for printing formatted SAM header to string // *************************************************************************** -#include -#include -#include +#include "api/SamConstants.h" +#include "api/SamHeader.h" +#include "api/internal/SamFormatPrinter_p.h" using namespace BamTools; using namespace BamTools::Internal; @@ -19,16 +18,25 @@ using namespace BamTools::Internal; #include using namespace std; +// ------------------------ +// static utility methods +// ------------------------ + +static inline +const string FormatTag(const string& tag, const string& value) { + return string(Constants::SAM_TAB + tag + Constants::SAM_COLON + value); +} + +// --------------------------------- +// SamFormatPrinter implementation +// --------------------------------- + SamFormatPrinter::SamFormatPrinter(const SamHeader& header) : m_header(header) { } SamFormatPrinter::~SamFormatPrinter(void) { } -const string SamFormatPrinter::FormatTag(const string &tag, const string &value) const { - return string(Constants::SAM_TAB + tag + Constants::SAM_COLON + value); -} - const string SamFormatPrinter::ToString(void) const { // clear out stream @@ -73,7 +81,7 @@ void SamFormatPrinter::PrintSQ(std::stringstream& out) const { SamSequenceConstIterator seqIter = m_header.Sequences.ConstBegin(); SamSequenceConstIterator seqEnd = m_header.Sequences.ConstEnd(); for ( ; seqIter != seqEnd; ++seqIter ) { - const SamSequence& seq = (*seqIter); + const SamSequence& seq = seqIter->second; // @SQ SN: LN: out << Constants::SAM_SQ_BEGIN_TOKEN @@ -107,7 +115,7 @@ void SamFormatPrinter::PrintRG(std::stringstream& out) const { SamReadGroupConstIterator rgIter = m_header.ReadGroups.ConstBegin(); SamReadGroupConstIterator rgEnd = m_header.ReadGroups.ConstEnd(); for ( ; rgIter != rgEnd; ++rgIter ) { - const SamReadGroup& rg = (*rgIter); + const SamReadGroup& rg = rgIter->second; // @RG ID: out << Constants::SAM_RG_BEGIN_TOKEN