39 class PaddedOutputString
47 explicit PaddedOutputString(
const std::string& s)
48 : PaddedOutputString()
50 this->copy_in(s.c_str(), s.size());
53 ~PaddedOutputString() =
default;
55 PaddedOutputString(
const PaddedOutputString& rhs) =
default;
56 PaddedOutputString(PaddedOutputString&& rhs) =
default;
58 PaddedOutputString& operator=(
const PaddedOutputString& rhs) =
default;
59 PaddedOutputString& operator=(PaddedOutputString&& rhs) =
default;
65 this->copy_in(s.data(), s.size());
70 const char* c_str()
const
72 return this->s_.data();
76 enum :
typename std::array<char, N + 1>::size_type { NChar = N };
78 std::array<char, NChar + 1> s_;
84 this->s_[NChar] =
'\0';
89 void copy_in(
const char* s,
90 const typename std::array<char, NChar + 1>::size_type len)