Float value;
char buf[sizeof(Float)];
};
- const char *t = &*Contents.begin();
+ const char *t = Contents.data();
const char *last = t + N;
char *e = buf;
for (; t != last; ++t, ++e) {
std::string_view ProtoSourceName(Qual.data() + Len, Qual.size() - Len);
std::string_view Proto;
{
- ScopedOverride<const char *> SaveFirst(First, &*ProtoSourceName.begin()),
+ ScopedOverride<const char *> SaveFirst(First, ProtoSourceName.data()),
SaveLast(Last, &*ProtoSourceName.rbegin() + 1);
Proto = parseBareSourceName();
}
Float value;
char buf[sizeof(Float)];
};
- const char *t = &*Contents.begin();
+ const char *t = Contents.data();
const char *last = t + N;
char *e = buf;
for (; t != last; ++t, ++e) {
std::string_view ProtoSourceName(Qual.data() + Len, Qual.size() - Len);
std::string_view Proto;
{
- ScopedOverride<const char *> SaveFirst(First,
- &*ProtoSourceName.begin()),
+ ScopedOverride<const char *> SaveFirst(First, ProtoSourceName.data()),
SaveLast(Last, &*ProtoSourceName.rbegin() + 1);
Proto = parseBareSourceName();
}
void printStr(const char *S) { fprintf(stderr, "%s", S); }
void print(std::string_view SV) {
- fprintf(stderr, "\"%.*s\"", (int)SV.size(), &*SV.begin());
+ fprintf(stderr, "\"%.*s\"", (int)SV.size(), SV.data());
}
void print(const Node *N) {
if (N)
// This is not a micro-optimization, it avoids UB, should Borrowed be an null
// buffer.
if (Borrowed.size())
- std::memcpy(Stable, &*Borrowed.begin(), Borrowed.size());
+ std::memcpy(Stable, Borrowed.data(), Borrowed.size());
return {Stable, Borrowed.size()};
}
Error = true;
return nullptr;
}
- const char *Start = &*MangledName.begin();
+ const char *Start = MangledName.data();
const size_t StartSize = MangledName.size();
MangledName.remove_prefix(MD5Last + 1);
T->output(OB, OF_Default);
std::string_view B = OB;
- std::printf(" [%d] - %.*s\n", (int)I, (int)B.size(), &*B.begin());
+ std::printf(" [%d] - %.*s\n", (int)I, (int)B.size(), B.data());
}
std::free(OB.getBuffer());
std::printf("%d name backreferences\n", (int)Backrefs.NamesCount);
for (size_t I = 0; I < Backrefs.NamesCount; ++I) {
std::printf(" [%d] - %.*s\n", (int)I, (int)Backrefs.Names[I]->Name.size(),
- &*Backrefs.Names[I]->Name.begin());
+ Backrefs.Names[I]->Name.data());
}
if (Backrefs.NamesCount > 0)
std::printf("\n");
std::string_view Name{MangledName};
SymbolNode *AST = D.parse(Name);
if (!D.Error && NMangled)
- *NMangled = Name.empty() ? MangledName.size()
- : &*Name.begin() - &*MangledName.begin();
+ *NMangled = MangledName.size() - Name.size();
if (Flags & MSDF_DumpBackrefs)
D.dumpBackReferences();