#pragma once #include #include #include "locator.h" // A Klammerset is the formal construct declared by the @@@klammerset system // command: a named, logically related group of klammer definitions loaded // together. The instance holds metadata and the file list only -- the // klammers themselves live in the Machine's Klammer_registry (one flat, // additive namespace; the definition modes govern collisions). Membership // is provenance, not containment. class Klammerset { public: Klammerset() = default; Klammerset(const std::string& symbol, const std::string& desc, const Locator& loc); std::string m_symbol {}; // registry key and command-line name (e.g. "sks") std::string m_desc {}; // the logical relationship that makes this a set std::string m_name {}; // display name (e.g. "Standard Klammer Set") std::string m_author {}; std::string m_date {}; // last update; a date serves as the version std::vector m_requires {}; // klammerset declaration files, loaded first std::vector m_files {}; // definition files, loaded in list order Locator m_loc {}; // the declaring file; relative names resolve against it };