Codegen entity meta-model — C++ domain

Table of Contents

This page is a segment of the Codegen org-entity meta-model hub, covering the * C++ > ** Domain includes sub-section and the ores.cpp.domain facet it feeds. This is the smallest facet: the domain struct is plain data (see the Keys and columns page for where its fields come from), so there is very little left for this section to configure — just the #include directives the generated struct header needs that aren't inferred automatically from column types.

Physical model mapping

Facet Description
ores.cpp.domain Domain types: class, JSON I/O, table I/O.

Domain includes

A named includes babel block: one #include directive per line, copied verbatim into the generated domain struct header.

** Domain includes

#+begin_src cpp :name includes
#include <boost/uuid/uuid.hpp>
#include <chrono>
#+end_src

Generates, at the top of book.hpp:

#ifndef ORES_REFDATA_API_DOMAIN_BOOK_HPP
#define ORES_REFDATA_API_DOMAIN_BOOK_HPP

#include "ores.utility/uuid/tenant_id.hpp"
#include <boost/uuid/uuid.hpp>
#include <chrono>
#include <optional>
#include <string>
#include <string_view>

namespace ores::refdata::domain {
// ...

No paste blocks or behavioural knobs exist for this facet today — the domain struct's shape is fully determined by the entity's columns, with nothing entity-specific left to override.

See also

Emacs 29.3 (Org mode 9.6.15)