diff --git a/app/service-cli-bytearray.cpp b/app/service-cli-bytearray.cpp index 399716b59..9a24b1796 100644 --- a/app/service-cli-bytearray.cpp +++ b/app/service-cli-bytearray.cpp @@ -39,8 +39,8 @@ int main(int argc, char *argv[]) { responseFuture.wait(); Response response = responseFuture.get(); - marian::bergamot::Printer printer(response); - printer.print(std::cout); + marian::bergamot::ResponsePrinter responsePrinter(response); + responsePrinter.print(std::cout); return 0; } diff --git a/app/service-cli.cpp b/app/service-cli.cpp index 6fc96f88e..c6cd2c55a 100644 --- a/app/service-cli.cpp +++ b/app/service-cli.cpp @@ -33,8 +33,8 @@ int main(int argc, char *argv[]) { responseFuture.wait(); Response response = responseFuture.get(); - marian::bergamot::Printer printer(response); - printer.print(std::cout); + marian::bergamot::ResponsePrinter responsePrinter(response); + responsePrinter.print(std::cout); return 0; } diff --git a/src/translator/print_utils.cpp b/src/translator/print_utils.cpp index 2af858e67..51bac62c8 100644 --- a/src/translator/print_utils.cpp +++ b/src/translator/print_utils.cpp @@ -3,7 +3,9 @@ namespace marian { namespace bergamot { -void Printer::sentences(std::ostream &out) { +void ResponsePrinter::print(std::ostream &out) { + out << "[original]: " << response_->source.text << '\n'; + out << "[translated]: " << response_->target.text << '\n'; for (int sentenceIdx = 0; sentenceIdx < response_->size(); sentenceIdx++) { sentence(out, sentenceIdx); alignments(out, sentenceIdx); @@ -12,12 +14,13 @@ void Printer::sentences(std::ostream &out) { out << "--------------------------\n"; out << '\n'; } -void Printer::sentence(std::ostream &out, size_t sentenceIdx) { + +void ResponsePrinter::sentence(std::ostream &out, size_t sentenceIdx) { out << " [src Sentence]: " << response_->source.sentence(sentenceIdx) << '\n'; out << " [tgt Sentence]: " << response_->target.sentence(sentenceIdx) << '\n'; } -void Printer::alignments(std::ostream &out, size_t sentenceIdx) { +void ResponsePrinter::alignments(std::ostream &out, size_t sentenceIdx) { out << "Alignments" << '\n'; typedef std::pair Point; @@ -41,7 +44,7 @@ void Printer::alignments(std::ostream &out, size_t sentenceIdx) { } } -void Printer::quality(std::ostream &out, size_t sentenceIdx) { +void ResponsePrinter::quality(std::ostream &out, size_t sentenceIdx) { // Handle quality. auto &quality = response_->qualityScores[sentenceIdx]; out << "Quality: whole(" << quality.sequence << "), tokens below:" << '\n'; @@ -59,10 +62,5 @@ void Printer::quality(std::ostream &out, size_t sentenceIdx) { out << '\n'; } -void Printer::text(std::ostream &out) { - out << "[original]: " << response_->source.text << '\n'; - out << "[translated]: " << response_->target.text << '\n'; -} - } // namespace bergamot } // namespace marian diff --git a/src/translator/print_utils.h b/src/translator/print_utils.h index 624079e7a..7591be781 100644 --- a/src/translator/print_utils.h +++ b/src/translator/print_utils.h @@ -4,20 +4,19 @@ namespace marian { namespace bergamot { -class Printer { +class ResponsePrinter { public: - Printer(Response &response) : response_(&response) {} - void print(std::ostream &out) { - text(out); - sentences(out); - } + ResponsePrinter(Response &response) : response_(&response) {} + + /// Prints a response into the provided ostream + void print(std::ostream &out); private: - void text(std::ostream &out); - void sentences(std::ostream &out); void sentence(std::ostream &out, size_t sentenceIdx); void alignments(std::ostream &out, size_t sentenceIdx); void quality(std::ostream &out, size_t sentenceIdx); + + /// Holds a reference to the response to be printed. Response *response_; }; } // namespace bergamot