xo-object2: + StringOps.printf() + utest

This commit is contained in:
Roland Conybeare 2026-01-15 11:29:35 -05:00
commit aea37f2523
2 changed files with 33 additions and 0 deletions

View file

@ -34,6 +34,13 @@ namespace xo {
typename ASrcFacet = AGCObject>
static obj<AFacet,DString> clone(obj<AAllocator> mm,
obj<ASrcFacet,DString> src);
/** wrapper for DString.printf() **/
template <typename AFacet = AGCObject, typename... Args>
static obj<AFacet,DString> printf(obj<AAllocator> mm,
size_type cap,
const char * fmt,
Args&&... args);
};
template <typename AFacet>
@ -56,6 +63,17 @@ namespace xo {
{
return obj<AFacet,DString>(DString::clone(mm, src.data()));
}
template <typename AFacet, typename... Args>
obj<AFacet,DString>
StringOps::printf(obj<AAllocator> mm,
size_type cap,
const char * fmt,
Args&&... args)
{
return obj<AFacet,DString>(DString::printf(mm, cap, fmt,
std::forward<Args>(args)...));
}
}
}