aqnwb 0.1.0
Loading...
Searching...
No Matches
NamespaceRegistry.hpp File Reference
#include <functional>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>
#include "Types.hpp"
Include dependency graph for NamespaceRegistry.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  AQNWB::SPEC::NamespaceRegistry
 Singleton class to manage the registration and lookup of namespace information. More...

Namespaces

namespace  AQNWB::SPEC
 The namespace for managing format schema and namespaces.
namespace  AQNWB
 The main namespace for AqNWB.

Macros

#define REGISTER_NAMESPACE(name, version, specVariables)
 Macro to register a namespace with the global registry.

Macro Definition Documentation

◆ REGISTER_NAMESPACE

#define REGISTER_NAMESPACE ( name,
version,
specVariables )
Value:
namespace \
{ \
struct NamespaceRegistrar \
{ \
NamespaceRegistrar() \
{ \
NamespaceRegistry::instance().registerNamespace( \
name, {name, version, specVariables}); \
} \
}; \
static NamespaceRegistrar registrar; \
}

Macro to register a namespace with the global registry.

Parameters
nameThe name of the namespace.
versionThe version of the namespace.
specVariablesThe specVariables of the namespace.