tagval
0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
Loading...
Searching...
No Matches
tagval.hpp
Go to the documentation of this file.
1
#pragma once
2
5
6
#include <
tagval/base.hpp
>
7
#include <
tagval/closed_ended.hpp
>
8
#include <
tagval/descriptor.hpp
>
9
#include <
tagval/entry.hpp
>
10
#include <
tagval/error.hpp
>
11
#include <
tagval/format.hpp
>
12
#include <
tagval/hash.hpp
>
13
#include <
tagval/json_nlohmann.hpp
>
14
#include <
tagval/kind_registry.hpp
>
15
#include <
tagval/macros.hpp
>
16
#include <
tagval/open_ended.hpp
>
17
#include <
tagval/openended_registry.hpp
>
18
#include <
tagval/ostream.hpp
>
19
#include <
tagval/parcel.hpp
>
20
#include <
tagval/values.hpp
>
21
#include <tagval/version.hpp>
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 = tagv...
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.
values.hpp
Compile-time list of Entry types for ClosedEnded kinds.
include
tagval
tagval.hpp
Generated by
1.9.8