xo-procedure2/idl/RuntimeContext.json5

74 lines
2 KiB
Text

{
mode: "facet",
output_cpp_dir: "src/procedure2/facet",
output_hpp_dir: "include/xo/procedure2",
output_impl_subdir: "detail",
// includes in ARuntimeContext.hpp
includes: [
"<xo/stringtable2/StringTable.hpp>",
"<xo/alloc2/Allocator.hpp>",
"<xo/arena/MemorySizeInfo.hpp>"
],
// extra includes in RuntimeContext.hpp, if any
user_hpp_includes: [
],
namespace1: "xo",
namespace2: "scm",
// text after includes, before ARuntimeContext
pretext: [
//"namespace xo { namespace mm { class AAllocator; } }",
],
facet: "RuntimeContext",
detail_subdir: "detail",
brief: "runtime context for application code. At minimum provides allocator",
using_doxygen: true,
doc: [
"Runtime application context"
],
types: [
{
name: "AAllocator",
definition: "xo::mm::AAllocator",
doc: [ "xo memory allocator" ],
},
{
name: "MemorySizeVisitor",
definition: "xo::mm::MemorySizeVisitor",
doc: [ "function to visit memory pools" ],
},
],
const_methods: [
{
name: "allocator",
doc: [ "default allocator to use for objects" ],
return_type: "obj<AAllocator>",
args: [],
const: true,
noexcept: true,
attributes: [],
},
{
name: "stringtable",
doc: [ "stringtable for unique symbols" ],
return_type: "StringTable *",
args: [],
const: true,
noexcept: true,
attributes: [],
},
{
name: "visit_pools",
doc: [ "invoke visitor for each distinct memory pool" ],
return_type: "void",
args: [
{type: "MemorySizeVisitor", name: "visitor"}
],
const: true,
noexcept: false,
attributes: [],
},
],
nonconst_methods: [
],
router_facet_explicit_content: [ ],
}