text: // Generated by Donk Transpiler. Changes may be overwritten.
  // Template:    transformer_definition_cc.tmpl
  // Filename:    datum.cc
  #include "donk/api/datum.h"
  
  #include "donk/core/iota.h"
  #include "donk/core/path.h"
  #include "donk/core/procs.h"
  
  namespace donk::api::datum {
  datum_coretype::datum_coretype(donk::path_t path) : donk::iota_t(path) {
    InternalCoreRegister();
  }
  
  donk::running_proc Del(donk::proc_ctxt_t& ctxt, donk::proc_args_t& args) {
    co_yield ctxt.Unimplemented("/datum/proc/Del");
  }
  
  donk::running_proc New(donk::proc_ctxt_t& ctxt, donk::proc_args_t& args) {
    co_yield ctxt.Unimplemented("/datum/proc/New");
  }
  
  donk::running_proc Read(donk::proc_ctxt_t& ctxt, donk::proc_args_t& args) {
    co_yield ctxt.Unimplemented("/datum/proc/Read");
  }
  
  donk::running_proc Topic(donk::proc_ctxt_t& ctxt, donk::proc_args_t& args) {
    co_yield ctxt.Unimplemented("/datum/proc/Topic");
  }
  
  donk::running_proc Write(donk::proc_ctxt_t& ctxt, donk::proc_args_t& args) {
    co_yield ctxt.Unimplemented("/datum/proc/Write");
  }
  
  void datum_coretype::InternalCoreRegister() {
    RegisterProc("Del", donk::api::datum::Del);
    RegisterProc("New", donk::api::datum::New);
    RegisterProc("Read", donk::api::datum::Read);
    RegisterProc("Topic", donk::api::datum::Topic);
    RegisterProc("Write", donk::api::datum::Write);
    RegisterVar("parent_type");
    RegisterVar("tag");
    RegisterVar("type");
  }
  
  }  // namespace donk::api::datum