summaryrefslogtreecommitdiff
path: root/asl/format.cpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-18 23:31:54 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-18 23:31:54 +0100
commit9487f0e564bbb5163ad33860d82f2be16b7ab562 (patch)
treec7e42862b82496b08a3cd6c7d4621d080bcc8bbe /asl/format.cpp
parent74082720c42c5d6b06b71cefbad4b794ff1b8c3c (diff)
Add contiguous iterators
Diffstat (limited to 'asl/format.cpp')
-rw-r--r--asl/format.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/asl/format.cpp b/asl/format.cpp
index 1371431..9e31888 100644
--- a/asl/format.cpp
+++ b/asl/format.cpp
@@ -10,8 +10,8 @@ void asl::format_internals::format(
{
Formatter f(writer);
- const auto* arg_it = args.begin();
- const auto* arg_end = args.end();
+ auto arg_it = args.begin();
+ auto arg_end = args.end();
isize_t i = 0;
while (i < fmt.size())
@@ -22,23 +22,19 @@ void asl::format_internals::format(
{
if (fmt[i + 1] == '}')
{
- if (arg_it >= arg_end)
- {
- f.write(fmt.substr(0, i));
- fmt = fmt.substr(i + 2);
- i = 0;
-
- f.write("<ERROR>");
-
- continue;
- }
-
f.write(fmt.substr(0, i));
fmt = fmt.substr(i + 2);
i = 0;
- arg_it->fn(f, arg_it->data);
- arg_it++; // NOLINT(*-pointer-arithmetic)
+ if (arg_it == arg_end)
+ {
+ f.write("<ERROR>");
+ }
+ else
+ {
+ arg_it->fn(f, arg_it->data);
+ arg_it++;
+ }
continue;
}