Template Struct RegisterMetadata
Defined in File metadata.h
Struct Documentation
-
template<class MetadataDerived>
struct RegisterMetadata Registrar class helper to add static from_buffer() function of the concrete derived metadata class to the registry.
![digraph {
subgraph cluster_SpecificMetadataClass {
SpecificMetadataClass [
label="class SpecificMetadataClass",
shape="rectangle"];
SpecificMetadataClassType [
label="struct MetadataTraits<SpecificMetadataClass>",
shape="rectangle"
];
SpecificMetadataClass -> SpecificMetadataClassType;
}
MetadataEntryHelper [
label="class MetadataEntryHelper",
shape="rectangle"];
MetadataTraits [
label="struct MetadataTraits",
shape="rectangle"];
SpecificMetadataClass -> MetadataEntryHelper;
SpecificMetadataClassType -> MetadataTraits;
MetadataEntry [
label="MetadataEntry",
shape="rectangle"];
MetadataEntryRef [
label="MetadataEntryRef",
shape="rectangle"];
MetadataEntry -> MetadataEntryRef;
subgraph cluster_RegisterMetadata {
RegisterMetadata [
label="RegisterMetadata",
shape="rectangle"];
RegisterMetadata_Decoder [
label="RegisterMetadata::registered=register_type_decoder()",
shape="rectangle"];
RegisterMetadata->RegisterMetadata_Decoder;
};
MetadataEntryHelper -> MetadataEntry;
MetadataEntryHelper -> RegisterMetadata;
subgraph cluster_MetadataStore {
MetadataStore [
label="MetadataStore",
shape="rectangle"];
MetadataStore_Entries [
label="MetadataStore::metadata_entries_",
shape="rectangle"];
MetadataStore->MetadataStore_Entries;
};
MetadataEntry -> MetadataStore_Entries;
}](../../_images/graphviz-486676210f0fc5d1760d975c5e90a78e53f40326.png)
- Template Parameters:
MetadataDerived – The derived subclass cpp type.
Public Functions
-
inline virtual ~RegisterMetadata()
Public Static Functions
-
static inline bool register_type_decoder()
Register the specific derived class decoder into the global registrar.
- Returns:
true If class has been registered successfully, false otherwise.
Public Static Attributes
-
static const bool REGISTERED = RegisterMetadata<MetadataDerived>::register_type_decoder()
If the derived class has been registered.
This line is incredibly IMPORTANT.
This will statically run the registration for all derived classes before the class constructer is run.
- Template Parameters:
MetadataDerived – The derived subclass cpp type.