From 8ccbf252e3d3910081de920b2388204e425400c0 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Thu, 7 Apr 2016 16:16:41 +0200 Subject: Implement proper CLI argument handling using `boost::program_options` Became necessary due to the introduction of custom line offset as an additional user-defined parameter. --- src/line_accumulator.cc | 10 +++++++++- src/line_accumulator.h | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/line_accumulator.cc b/src/line_accumulator.cc index d12ef54..31b8ddc 100644 --- a/src/line_accumulator.cc +++ b/src/line_accumulator.cc @@ -54,8 +54,12 @@ std::size_t getCharacterLength(const std::string& token) { namespace justify { -LineAccumulator::LineAccumulator(const std::uint8_t max_length): +LineAccumulator::LineAccumulator( + const std::uint8_t max_length, + const std::uint8_t offset +): max_length_{max_length}, + offset_{offset}, length_{0}, tokens_{} { } @@ -160,6 +164,10 @@ void LineAccumulator::discharge(const bool full) { this->justify(); } + if ( this->offset_ > 0 ) { + std::cout << std::string(this->offset_, ' '); + } + for ( const auto& token : this->tokens_ ) { std::cout << token.first << std::string(token.second, ' '); diff --git a/src/line_accumulator.h b/src/line_accumulator.h index 2ca271c..69b4c74 100644 --- a/src/line_accumulator.h +++ b/src/line_accumulator.h @@ -9,7 +9,7 @@ namespace justify { class LineAccumulator { public: - LineAccumulator(const std::uint8_t max_length); + LineAccumulator(const std::uint8_t max_length, const std::uint8_t offset); ~LineAccumulator(); std::uint8_t getMissing() const; @@ -18,6 +18,7 @@ class LineAccumulator { private: const std::uint8_t max_length_; + const std::uint8_t offset_; std::uint8_t length_; -- cgit v1.2.3