ores.cpp.domain.table_io_impl

Table of Contents

Stream operators for the table adapter. domain profile. Streaming `operator<<` overload for widget display and debug logging; implemented in the `table` facet alongside the adapter.

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

Template

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

{{! GENERATED FILE — tangled from projects/ores.codegen/library/templates/cpp_table.org. Edit the org source. }}
{{{cpp_license}}}
{{#domain_entity}}
#include "ores.{{component_include}}/domain/{{entity_singular}}_table_io.hpp"

#include <ostream>
#include "ores.{{component_include}}/domain/{{entity_singular}}_table.hpp"

namespace ores::{{component}}::domain {

namespace {

void print_{{entity_singular}}_table(std::ostream& s, const std::vector<{{entity_singular}}>& v) {
    s << std::endl << convert_to_table(v) << std::endl;
}

}

std::ostream& operator<<(std::ostream& s, const std::vector<{{entity_singular}}>& v) {
    print_{{entity_singular}}_table(s, v);
    return s;
}

}
{{/domain_entity}}
{{#junction}}
#include "ores.{{component_include}}/domain/{{name_singular}}_table_io.hpp"

#include <ostream>
#include "ores.{{component_include}}/domain/{{name_singular}}_table.hpp"

namespace ores::{{component}}::domain {

namespace {

void print_{{name_singular}}_table(std::ostream& s, const std::vector<{{name_singular}}>& v) {
    s << std::endl << convert_to_table(v) << std::endl;
}

}

std::ostream& operator<<(std::ostream& s, const std::vector<{{name_singular}}>& v) {
    print_{{name_singular}}_table(s, v);
    return s;
}

}
{{/junction}}

See also

Emacs 29.3 (Org mode 9.6.15)