xo-object2: + StringOps.clone + utest

This commit is contained in:
Roland Conybeare 2026-01-15 11:25:26 -05:00
commit ede658219c
2 changed files with 32 additions and 0 deletions

View file

@ -19,13 +19,21 @@ namespace xo {
using AAllocator = xo::mm::AAllocator;
using size_type = DString::size_type;
/** wrapper for DString.empty() **/
template <typename AFacet = AGCObject>
static obj<AFacet,DString> empty(obj<AAllocator> mm,
size_type cap);
/** wrapper for DString.from_cstr() **/
template <typename AFacet = AGCObject>
static obj<AFacet,DString> from_cstr(obj<AAllocator> mm,
const char * cstr);
/** wrapper for DString.clone() **/
template <typename AFacet = AGCObject,
typename ASrcFacet = AGCObject>
static obj<AFacet,DString> clone(obj<AAllocator> mm,
obj<ASrcFacet,DString> src);
};
template <typename AFacet>
@ -41,6 +49,13 @@ namespace xo {
{
return obj<AFacet,DString>(DString::from_cstr(mm, cstr));
}
template <typename AFacet, typename ASrcFacet>
obj<AFacet,DString>
StringOps::clone(obj<AAllocator> mm, obj<ASrcFacet,DString> src)
{
return obj<AFacet,DString>(DString::clone(mm, src.data()));
}
}
}