ores.cpp.convention-registry.unit_declarations

Table of Contents

The header the dispatch unit and every per-family unit include. It states one apply function and one payload-read function per convention family, taking and returning only strings, so including it instantiates the serialisation of no family. The definitions live in the per-family units that the ores.cpp.convention-family facet renders.

See the Template variable reference for the complete list of available variables and their semantics.

1. Template

The full template source. Edit here and re-tangle with compass build --direct tangle_codegen_templates to regenerate library/templates/cpp_convention_family_units.hpp.mustache.

{{! GENERATED FILE — tangled from projects/ores.codegen/library/templates/ores.cpp.convention-registry.unit_declarations.org. Edit the org source. }}
{{{cpp_license}}}
{{#convention_registry}}
#ifndef ORES_REFDATA_CORE_SERVICE_CONVENTION_FAMILY_UNITS_HPP
#define ORES_REFDATA_CORE_SERVICE_CONVENTION_FAMILY_UNITS_HPP

#include "ores.database/domain/context.hpp"
#include "ores.refdata.core/service/conventions_bundle.hpp"
#include <string>
#include <vector>

namespace ores::refdata::service::convention_family {

// One pair per convention family. Each pair is defined in a translation unit
// of its own, so no unit instantiates the serialisation of two families.
{{#families}}

void apply_{{key}}(const ores::database::context& ctx,
                   const std::string& payload,
                   conventions_apply_result& result);

std::vector<std::string> read_{{key}}_payloads(const ores::database::context& ctx);
{{/families}}

}

#endif
{{/convention_registry}}

2. See also

Emacs 29.3 (Org mode 9.6.15)