tagval 0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
Loading...
Searching...
No Matches
tagval::OpenEndedRegistry< Owner > Class Template Reference

Runtime list of metadata pointers for a single OpenEnded kind. More...

#include <openended_registry.hpp>

Static Public Member Functions

static void add (const TagValMetadata *m)
 Register a pinned metadata pointer.
 
static std::span< const TagValMetadata *const > all () noexcept
 
static const TagValMetadatafind (std::string_view code) noexcept
 

Detailed Description

template<typename Owner>
class tagval::OpenEndedRegistry< Owner >

Runtime list of metadata pointers for a single OpenEnded kind.

The Owner template parameter keeps registries for distinct kinds isolated.

Member Function Documentation

◆ add()

template<typename Owner >
static void tagval::OpenEndedRegistry< Owner >::add ( const TagValMetadata m)
inlinestatic

Register a pinned metadata pointer.

Idempotent on ->code: a second call with a pointer whose code is already known is a no-op.

◆ all()

template<typename Owner >
static std::span< const TagValMetadata *const > tagval::OpenEndedRegistry< Owner >::all ( )
inlinestaticnoexcept

◆ find()

template<typename Owner >
static const TagValMetadata * tagval::OpenEndedRegistry< Owner >::find ( std::string_view  code)
inlinestaticnoexcept

The documentation for this class was generated from the following file: