57 void AddTag(
const char* key, V value) {
58 assert(key !=
nullptr);
59 std::ostringstream strm;
61 AppendTag(key, strm.str().c_str());
65 void AddTag(
const char* key,
const char* value) {
66 assert(key !=
nullptr);
67 assert(value !=
nullptr);
68 AppendTag(key, value);
73 void AddTag(
const std::string& key, V value) {
76 AddTag(key.c_str(), value);
83 buffer_.assign(kCountWidth,
' ');
84 buffer_.push_back(
'\n');
117 return buffer_.c_str();
122 static constexpr std::size_t kCountWidth =
123 std::numeric_limits<std::size_t>::digits10 + 1;
125 void AppendTag(
const char* key,
const char* value) {
128 buffer_ +=
"\n_\n1\n";
134 void WriteCountHeader()
const {
135 const std::string s = std::to_string(count_);
136 assert(s.size() <= kCountWidth);
137 auto out = std::copy(s.begin(), s.end(), buffer_.begin());
138 std::fill(out, buffer_.begin() + kCountWidth,
' ');
141 mutable std::string buffer_;
142 std::size_t count_ = 0;
Definition CameraImageMetadata.h:27