xo-type/idl/Type.json5

70 lines
1.7 KiB
Text

{
mode: "facet",
output_cpp_dir: "src/type",
output_hpp_dir: "include/xo/type",
output_impl_subdir: "type",
includes: [
"<xo/type/Metatype.hpp>"
],
user_hpp_includes: [
],
namespace1: "xo",
namespace2: "scm", // TODO: change to project namespace if different
pretext: [
"// pretext if any"
],
facet: "Type",
detail_subdir: "type",
brief: "Representation for a Schematika type",
using_doxygen: true,
doc: [
"1. Ability to compare types as members of partial order",
"2. ..."
],
types: [
{
name: "obj_AType",
doc: [],
definition: "xo::facet::obj<AType>",
}
],
const_methods: [
{
name: "metatype",
doc: ["category for this type"],
return_type: "Metatype",
args: [],
const: true,
noexcept: true,
},
{
name: "is_equal_to",
doc: ["true iff this type is equal to y"],
return_type: "bool",
args: [
{type: "const obj_AType &", name: "y"},
]
},
{
name: "is_subtype_of",
doc: ["true iff this is a subtype of y"],
return_type: "bool",
args: [
{type: "const obj_AType &", name: "y"},
]
},
// TODO: define methods, e.g.:
// {
// name: "my_method",
// doc: ["description"],
// return_type: "bool",
// args: [],
// const: true,
// noexcept: true,
// },
],
nonconst_methods: [],
router_facet_explicit_content: [
],
}