// can regenerate downstream .*pp files with either: // cmake --build -- xo-numeric-facet-procedure // cmake --build -- xo-numeric-genfacet-all { mode: "facet", output_cpp_dir: "src/numeric", output_hpp_dir: "include/xo/numeric", output_impl_subdir: "detail", // includes in ASyntaxStateMachine.hpp includes: [ // "\"RuntimeContext.hpp\"", // "", ], // extra includes in Procedure.hpp, if any user_hpp_includes: [ ], namespace1: "xo", namespace2: "scm", // text after includes, before ASyntaxStateMachine pretext: [ //"namespace xo { namespace scm { class ARuntimeContext; } }", //"namespace xo { namespace scm { class DArray; } }", ], facet: "Numeric", detail_subdir: "detail", brief: "abstraction for a schematika numeric i.e. something that can participate in arithmetic", using_doxygen: true, doc: [ "Abstraction for a schematika numeric" ], types: [ // { // name: "AGCObject", // definition: "xo::mm::AGCObject", // doc: [ "a gc-aware object" ], // }, // { name: string, doc: [ string ], definition: string }, ], const_methods: [ // { // name: "multiply", // doc: [ "true iff procedure takes n arguments" ], // return_type: "bool", // args: [], // const: true, // noexcept: true, // attributes: [] // }, // { // name: "n_args", // doc: ["number of arguments. -1 for n-ary" ], // return_type: "std::int32_t", // args: [], // const: true, // noexcept: true, // attributes: [] // } ], nonconst_methods: [ // { // name: "apply_nocheck", // doc: ["invoke procedure; assume arguments satisfy type system" ], // return_type: "obj", // args: [ // {type: "obj", name: "rcx"}, // {type: "const DArray *", name: "args"}, // ] // } ], router_facet_explicit_content: [ // this doesn't seem to show up anywhere "static obj multiply(obj lhs, obj rhs);" ], }