tagval 0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
Loading...
Searching...
No Matches
tagval Directory Reference
+ 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.