/*
    libmaus2
    Copyright (C) 2015 German Tischler

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include <libmaus2/dazzler/align/ApproximateRun.hpp>

std::ostream & libmaus2::dazzler::align::operator<<(std::ostream & out, libmaus2::dazzler::align::ApproximateRun const & AR)
{
	out << "ApproximateRun(a_readid=" << AR.a_readid << ",b_readid=" << AR.b_readid
		<< ",full=(" << AR.full.first << "," << AR.full.second << "),alignment="
		<< ((AR.approximate_run_alignment == ApproximateRun::approximate_run_alignment_left) ? "left" : "right")
		<< ",other={";
	for ( uint64_t i = 0; i < AR.other.size(); ++i )
		out << AR.other[i] << ((i+1<AR.other.size()) ? "," : "}");
	out << ")";
	return out;
}
