79 lines
2.1 KiB
Text
79 lines
2.1 KiB
Text
{
|
|
mode: "facet",
|
|
includes: [
|
|
"<xo/alloc2/Allocator.hpp>",
|
|
"<xo/gc/Collector.hpp>",
|
|
"<cstdint>",
|
|
"<cstddef>",
|
|
],
|
|
// extra includes in GCObject.hpp, if any
|
|
user_hpp_includes: [],
|
|
namespace1: "xo",
|
|
namespace2: "mm",
|
|
pretext: [
|
|
"namespace xo { namespace mm { struct ACollector; }}",
|
|
],
|
|
facet: "GCObject",
|
|
detail_subdir: "detail",
|
|
brief: "xxx",
|
|
using_doxygen: true,
|
|
doc: [
|
|
"GC hooks for collector-aware data"
|
|
],
|
|
types: [
|
|
// using size_type = std::size_t
|
|
{
|
|
name: "size_type",
|
|
doc: ["type for an amount of memory"],
|
|
definition: "std::size_t",
|
|
},
|
|
{
|
|
name: "AAllocator",
|
|
doc: ["fomo allocator type"],
|
|
definition: "xo::mm::AAllocator",
|
|
},
|
|
{
|
|
name: "ACollector",
|
|
doc: ["fomo collector type"],
|
|
definition: "xo::mm::ACollector",
|
|
},
|
|
],
|
|
const_methods: [
|
|
// size_type shallow_size() const noexcept
|
|
{
|
|
name: "shallow_size",
|
|
doc: ["memory consumption for this instance"],
|
|
return_type: "size_type",
|
|
args: [],
|
|
const: true,
|
|
noexcept: true,
|
|
attributes: [],
|
|
},
|
|
// Opaque shallow_copy(obj<AAllocator>>) const noexcept
|
|
{
|
|
name: "shallow_copy",
|
|
doc: ["copy instance using allocator"],
|
|
return_type: "Opaque",
|
|
args:[
|
|
{type: "obj<AAllocator>", name: "mm"},
|
|
],
|
|
const: true,
|
|
noexcept: true,
|
|
attributes: [],
|
|
},
|
|
],
|
|
nonconst_methods: [
|
|
// size_type forward_children(obj<ACollector>) const noexcept
|
|
{
|
|
name: "forward_children",
|
|
doc: ["during GC: forward immdiate children"],
|
|
return_type: "size_type",
|
|
args: [
|
|
{type: "obj<ACollector>", name: "gc"},
|
|
],
|
|
const: true,
|
|
noexcept: true,
|
|
attributes: [],
|
|
},
|
|
],
|
|
}
|