tagval 0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
Loading...
Searching...
No Matches
openended_registry.hpp File Reference

Per-Owner runtime registry used by OpenEnded kinds. More...

#include <tagval/entry.hpp>
#include <algorithm>
#include <span>
#include <string_view>
#include <vector>
+ Include dependency graph for openended_registry.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tagval::OpenEndedRegistry< Owner >
 Runtime list of metadata pointers for a single OpenEnded kind. More...
 

Namespaces

namespace  tagval
 

Detailed Description

Per-Owner runtime registry used by OpenEnded kinds.

External entries register themselves at static-init time via the TAGVAL_EXTERN_ENTRY / TAGVAL_EXTERN_ENTRY_AS macros. Each entry contributes a pointer to its pinned metadata_v<E> constant; the registry stores const TagValMetadata* so vector reallocations never invalidate handle identity.

This is the per-OpenEnded-kind extern-entry storage. For the program-wide index of every registered kind, see <tagval/kind_registry.hpp>.