|
tagval 0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
|
Directory dependency graph for tagval:Files | |
| base.hpp | |
| CRTP HandleBase used by ClosedEnded and OpenEnded. | |
| closed_ended.hpp | |
ClosedEnded base — values come from a compile-time Values<...> list. | |
| descriptor.hpp | |
| Public kind-level metadata struct. | |
| entry.hpp | |
| Compile-time Entry NTTP and the runtime-view TagValMetadata struct. | |
| error.hpp | |
| tagval exception types and ParseError record used by try_of(). | |
| format.hpp | |
| std::formatter partial specialization — formats any tagval value as its code(). | |
| hash.hpp | |
| std::hash partial specialization for any tagval value type. | |
| json_nlohmann.hpp | |
| Optional nlohmann::json integration. | |
| kind_registry.hpp | |
| Program-wide registry of every tag-value kind that opts in via the TAGVAL_REGISTER_KIND macro. | |
| macros.hpp | |
| TAGVAL_* macros for declaring entries. | |
| open_ended.hpp | |
OpenEnded base — same in-class declaration shape as ClosedEnded (TAGVAL_ENTRY + using values_t = tagval::Values<...>) but additionally accepts plugin entries declared at namespace scope with TAGVAL_EXTERN_ENTRY, which register into OpenEndedRegistry<Owner> at static-init. | |
| openended_registry.hpp | |
| Per-Owner runtime registry used by OpenEnded kinds. | |
| ostream.hpp | |
| operator<< for any tagval value type — writes value.code() to the stream. | |
| parcel.hpp | |
| Optional cpp-parcel integration. | |
| tagval.hpp | |
| Umbrella header. | |
| values.hpp | |
| Compile-time list of Entry types for ClosedEnded kinds. | |