/** @file StringOps.hpp * * @author Roland Conybeare, Jan 2026 **/ #pragma once #include "string/IGCObject_DString.hpp" #include "DString.hpp" namespace xo { namespace scm { /** @brief string functions * * note: separate from DString **/ struct StringOps { using AGCObject = xo::mm::AGCObject; using AAllocator = xo::mm::AAllocator; using size_type = DString::size_type; template static obj empty(obj mm, size_type cap); template static obj from_cstr(obj mm, const char * cstr); }; template obj StringOps::empty(obj mm, size_type cap) { return obj(DString::empty(mm, cap)); } template obj StringOps::from_cstr(obj mm, const char * cstr) { return obj(DString::from_cstr(mm, cstr)); } } } /* end StringOps.hpp */