#include <filesystem>
#include <functional>
#include <memory>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include "Types.hpp"
#include "Utils.hpp"
#include "io/BaseIO.hpp"
#include "io/ReadIO.hpp"
Go to the source code of this file.
Classes | |
class | AQNWB::NWB::RegisteredType |
Base class for types defined in the NWB schema. More... |
Namespaces | |
namespace | AQNWB |
The main namespace for AqNWB. | |
namespace | AQNWB::NWB |
Namespace for all classes related to the NWB data standard. |
Macros | |
#define | REGISTER_SUBCLASS_WITH_TYPENAME(T, NAMESPACE_VAR, TYPENAME) |
Macro to register a subclass with the RegisteredType class registry. | |
#define | REGISTER_SUBCLASS(T, NAMESPACE) |
Macro to register a subclass with the RegisteredType class registry. | |
#define | REGISTER_SUBCLASS_IMPL(T) |
Macro to initialize the static member registered_ to trigger registration. | |
#define | DEFINE_ATTRIBUTE_FIELD(name, default_type, fieldPath, description) |
Defines a lazy-loaded attribute field accessor function. | |
#define | DEFINE_DATASET_FIELD(readName, writeName, default_type, fieldPath, description) |
Defines a lazy-loaded dataset field accessor function. | |
#define | DEFINE_REGISTERED_FIELD(name, registeredType, fieldPath, description) |
Defines a lazy-loaded accessor function for reading fields that are RegisteredTypes. | |
#define | DEFINE_REFERENCED_REGISTERED_FIELD(name, registeredType, fieldPath, description) |
Defines a lazy-loaded accessor function for reading fields that are RegisteredTypes that are linked to by a reference attribute. |
Variables | |
constexpr auto | AQNWB::NWB::AttributeField = AQNWB::Types::StorageObjectType::Attribute |
Alias for AQNWB::Types::StorageObjectType::Attribute. | |
constexpr auto | AQNWB::NWB::DatasetField = AQNWB::Types::StorageObjectType::Dataset |
Alias for AQNWB::Types::StorageObjectType::Dataset. |
#define DEFINE_ATTRIBUTE_FIELD | ( | name, | |
default_type, | |||
fieldPath, | |||
description ) |
Defines a lazy-loaded attribute field accessor function.
This macro generates a function that returns a lazy-loaded wrapper for an attribute field.
name | The name of the function to generate. |
default_type | The default type of the field. |
fieldPath | The path to the field. |
description | A detailed description of the field. |
#define DEFINE_DATASET_FIELD | ( | readName, | |
writeName, | |||
default_type, | |||
fieldPath, | |||
description ) |
Defines a lazy-loaded dataset field accessor function.
This macro generates two functions:
readName | The name of the read function to generate. |
writeName | The name of the write function to generate. |
default_type | The default type of the field. |
fieldPath | The path to the field. |
description | A detailed description of the field. |
#define DEFINE_REFERENCED_REGISTERED_FIELD | ( | name, | |
registeredType, | |||
fieldPath, | |||
description ) |
Defines a lazy-loaded accessor function for reading fields that are RegisteredTypes that are linked to by a reference attribute.
This macro generates a function that returns the appropriate subtype of RegisteredType, e.g., to read VectorData from a DynamicTable or a TimeSeries from an NWBFile.
name | The name of the function to generate. |
registeredType | The specific subclass of registered type to use |
fieldPath | The path to the attribute that stores reference to the field |
description | A detailed description of the field. |
#define DEFINE_REGISTERED_FIELD | ( | name, | |
registeredType, | |||
fieldPath, | |||
description ) |
Defines a lazy-loaded accessor function for reading fields that are RegisteredTypes.
This macro generates a function that returns the approbriate subtype of RegisteredType, e.g., to read VectorData from a DynamicTable or a TimeSeries from and NWBFile.
name | The name of the function to generate. |
registeredType | The specific subclass of registered type to use |
fieldPath | The path to the field. |
description | A detailed description of the field. |
#define REGISTER_SUBCLASS | ( | T, | |
NAMESPACE ) |
Macro to register a subclass with the RegisteredType class registry.
This macro is a convenience wrapper around the main REGISTER_SUBCLASS macro, providing a default value for TYPENAME.
T | The subclass type to register. The name must match the type in the schema. |
NAMESPACE | The namespace of the subclass type in the format schema |
#define REGISTER_SUBCLASS_IMPL | ( | T | ) |
Macro to initialize the static member registered_ to trigger registration.
This macro ensures that the registration of the subclass occurs when the program starts.
T | The subclass type to register. |
#define REGISTER_SUBCLASS_WITH_TYPENAME | ( | T, | |
NAMESPACE_VAR, | |||
TYPENAME ) |
Macro to register a subclass with the RegisteredType class registry.
This macro defines:
T | The subclass type to register. The name must match the type in the schema. |
NAMESPACE_VAR | The namespace of the subclass type in the format schema. May be specified via a const variable or as a literal string. |
TYPENAME | The name of the type (usually the class name). |