Util: Add default alignment to string types

This commit is contained in:
Riyyi
2022-08-03 16:05:01 +02:00
parent 5e419f501d
commit 04250a8605
3 changed files with 2 additions and 6 deletions
+1
View File
@@ -63,6 +63,7 @@ void Builder::putString(std::string_view string, size_t width, Align align, char
} }
switch (align) { switch (align) {
case Align::None:
case Align::Left: case Align::Left:
m_builder.write(string.data(), length); m_builder.write(string.data(), length);
m_builder << std::string(width - length, fill); m_builder << std::string(width - length, fill);
+1 -1
View File
@@ -31,7 +31,7 @@ void variadicFormatImpl(Builder& builder, Parser& parser, TypeErasedParameters&
// Get parameter at index, or next // Get parameter at index, or next
size_t index = indexMaybe.has_value() ? indexMaybe.value() : parameters.tell(); size_t index = indexMaybe.has_value() ? indexMaybe.value() : parameters.tell();
VERIFY(index < parameters.size(), "argument not found at index '%zu':'%zu'", index, parameters.size()); VERIFY(index < parameters.size(), "argument not found at index '%zu'", index);
auto& parameter = parameters.parameter(index); auto& parameter = parameters.parameter(index);
// Format the parameter // Format the parameter
-5
View File
@@ -85,11 +85,6 @@ void Formatter<bool>::format(Builder& builder, bool value) const
template<> template<>
void Formatter<std::string_view>::format(Builder& builder, std::string_view value) const void Formatter<std::string_view>::format(Builder& builder, std::string_view value) const
{ {
if (specifier.align == Builder::Align::None) {
builder.putString(value, specifier.width);
return;
}
builder.putString(value, specifier.width, specifier.align, specifier.fill); builder.putString(value, specifier.width, specifier.align, specifier.fill);
} }