xo-umbrella2/xo-printjson/include/xo/printjson/init_printjson.hpp
Roland Conybeare 53b422b567 git subrepo clone (merge) git@github.com:Rconybea/xo-printjson.git xo-printjson
subrepo:
  subdir:   "xo-printjson"
  merged:   "c5c01502"
upstream:
  origin:   "git@github.com:Rconybea/xo-printjson.git"
  branch:   "main"
  commit:   "c5c01502"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 22:16:48 -04:00

29 lines
734 B
C++

/* file init_printjson.hpp
*
* author: Roland Conybeare, Sep 2022
*/
#pragma once
#include "xo/subsys/Subsystem.hpp"
namespace xo {
/* tag to represent the printjson/ subsystem within ordered initialization */
enum S_printjson_tag {};
/* Use:
* // anywhere, to declare printjson dependency e.g. at file scope
* InitEvidence s_evidence = InitSubsys<S_printjson_tag>::require();
*
* // from main(), though can resort to module initialization in a pybind11 library
* Subsystem::initialize_all();
*/
template<>
struct InitSubsys<S_printjson_tag> {
static void init();
static InitEvidence require();
};
} /*namespace xo*/
/* end init_printjson.hpp */