26 if (!elementIdentifiers) {
27 std::cerr <<
"ElementIdentifiers::DataSpec::initialize received "
28 "incompatible Data object"
30 return Status::Failure;
32 return elementIdentifiers->initialize(
63 return std::make_shared<DataSpec>(name, dataConfig);
AQNWB::Types::Status Status
Definition BaseIO.hpp:21
#define REGISTER_SUBCLASS(T, BASE, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:547
#define DEFINE_DATASET_FIELD(readName, writeName, default_type, fieldPath, description)
Defines a lazy-loaded dataset field accessor function.
Definition RegisteredType.hpp:619
The configuration for an array dataset.
Definition BaseIO.hpp:321
An abstract data type for a dataset.
Definition Data.hpp:21
Status initialize(const IO::BaseArrayDataSetConfig &dataConfig)
Initialize the dataset for the Data object.
Definition Data.cpp:18
Data(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition Data.cpp:13
A list of unique identifiers for values within a dataset, e.g. rows of a DynamicTable.
Definition ElementIdentifiers.hpp:13
virtual ~ElementIdentifiers() override
Virtual destructor.
Definition ElementIdentifiers.hpp:55
static std::shared_ptr< DataSpec > createDataSpec(const std::string &name, const IO::ArrayDataSetConfig &dataConfig)
Definition ElementIdentifiers.hpp:60
ElementIdentifiers(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition ElementIdentifiers.cpp:9
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readData() const
Status initialize(const IO::ArrayDataSetConfig &dataConfig)
Definition ElementIdentifiers.hpp:66
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordData(bool reset=false)
std::string m_path
The path of the registered type.
Definition RegisteredType.hpp:471
std::weak_ptr< IO::BaseIO > m_io
A weak pointer to the IO object.
Definition RegisteredType.hpp:483
Namespace for all classes related to the NWB data standard.
const std::string namespaceName
Definition hdmf_common.hpp:21
Typed runtime configuration for a concrete Data subclass.
Definition Data.hpp:79
DataSpec(const std::string &datasetName, const IO::ArrayDataSetConfig &dataConfig)
Definition ElementIdentifiers.hpp:17
Status initialize(Data &data) const override
Initialize the created concrete Data object from this spec.
Definition ElementIdentifiers.hpp:23