xo-expression2: AGCObject support for DVariable

This commit is contained in:
Roland Conybeare 2026-01-29 10:16:13 -05:00
commit a26b781101
8 changed files with 176 additions and 0 deletions

View file

@ -21,6 +21,7 @@ namespace xo {
class DVariable {
public:
using ppindentinfo = xo::print::ppindentinfo;
using ACollector = xo::mm::ACollector;
using AAllocator = xo::mm::AAllocator;
using TypeDescr = xo::reflect::TypeDescr;
@ -56,6 +57,14 @@ namespace xo {
TypeDescr valuetype() const noexcept { return typeref_.td(); };
void assign_valuetype(TypeDescr td) noexcept;
///@}
/** @defgroup scm-variable-gcobject-facet **/
///@{
size_t shallow_size() const noexcept;
DVariable * shallow_copy(obj<AAllocator> mm) const noexcept;
size_t forward_children(obj<ACollector> gc) noexcept;
///@}
/** @defgroup scm-variable-printable-facet **/
///@{