diff --git a/libraries/libim/content/text/text_resource_writer.h b/libraries/libim/content/text/text_resource_writer.h index d6ece27..a1f649e 100644 --- a/libraries/libim/content/text/text_resource_writer.h +++ b/libraries/libim/content/text/text_resource_writer.h @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -112,12 +113,12 @@ namespace libim::content::text { } } - template - TextResourceWriter& writeKeyValue(std::string_view key, const AbstractVector& v, std::size_t indent = 0) + template>> + TextResourceWriter& writeKeyValue(std::string_view key, const std::array& a, std::size_t indent = 0) { write(key); this->indent(indent); - writeVector(v, 1); + writeNumericArray(a, 1); return writeEol(); } @@ -207,13 +208,10 @@ namespace libim::content::text { return *this; } - TextResourceWriter& writeRowIdx(std::size_t idx, std::size_t indent); - TextResourceWriter& writeSection(std::string_view section, bool overline = true); - - template - TextResourceWriter& writeVector(const AbstractVector& v, std::size_t indent = 4) + template>> + TextResourceWriter& writeNumericArray(const std::array& a, std::size_t indent = 4) { - for(const auto e : v) + for (const auto e : a) { this->indent(getNumberIndent(indent, e)); writeNumber<10, 8>(e); @@ -221,6 +219,15 @@ namespace libim::content::text { return *this; } + TextResourceWriter& writeRowIdx(std::size_t idx, std::size_t indent); + TextResourceWriter& writeSection(std::string_view section, bool overline = true); + + template + inline TextResourceWriter& writeVector(const AbstractVector& v, std::size_t indent = 4) + { + return writeNumericArray(v, indent); + } + void setIndentCh(char ch) { indch_ = ch;