15#if defined(USE_BOOST_KARMA)
16#include <boost/spirit/include/karma.hpp>
17namespace karma = boost::spirit::karma;
24#if defined(USE_BOOST_KARMA)
25template<
typename T>
void TablePrinter::OutputDecimalNumber(T input)
27 *out_stream_ << karma::format(
28 karma::maxwidth(column_widths_.at(j_))[
29 karma::right_align(column_widths_.at(j_))[
37 *out_stream_ <<
"│\n";
43 *out_stream_ << separator_;
48template<
typename T>
void TablePrinter::OutputDecimalNumber(T input)
52 int precision = column_widths_.at(j_) - 1;
57 if (input < -1 || input > 1)
59 int num_digits_before_decimal = 1 + (int)log10(std::abs(input));
60 precision -= num_digits_before_decimal;
68 *out_stream_ << std::setiosflags(std::ios::fixed)
69 << std::setprecision(std::min(precision, 5))
70 << std::setw(column_widths_.at(j_));
71 out_stream_->unsetf(std::ios_base::floatfield);
72 *out_stream_ << input;
76 *out_stream_ <<
"│\n";
82 *out_stream_ << separator_;
int get_num_columns() const