aqnwb 0.3.0
Loading...
Searching...
No Matches
ProcessingModule.hpp
Go to the documentation of this file.
1#pragma once
2
3// Common STL includes
4#include <memory>
5#include <optional>
6#include <string>
7#include <vector>
8// Base AqNWB includes for IO and RegisteredType
9#include "io/BaseIO.hpp"
10#include "io/ReadIO.hpp"
12// Include for parent type
14// Includes for types that are referenced and used
17// Include for the namespace schema header
18#include "spec/core.hpp"
19
20namespace AQNWB::NWB
21{
22
27{
28public:
29 // Register the ProcessingModule as a subclass of NWBContainer
33
34
37 virtual ~ProcessingModule() override {}
38
44 Status initialize(const std::string& description);
45
47 std::string,
48 "description",
49 Description of this collection of processed data.)
50
54 "",
55 Data objects stored in this collection.)
56
60 "",
61 Tables stored in this collection.)
62
63protected:
69 ProcessingModule(const std::string& path,
70 std::shared_ptr<AQNWB::IO::BaseIO> io);
71};
72
73} // namespace AQNWB::NWB
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:501
#define DEFINE_ATTRIBUTE_FIELD(name, default_type, fieldPath, description)
Defines a lazy-loaded attribute field accessor function.
Definition RegisteredType.hpp:534
#define DEFINE_UNNAMED_REGISTERED_FIELD(readName, writeName, registeredType, fieldPrefixPath, description)
Defines a lazy-loaded accessor function for reading fields that are RegisteredTypes that do not have ...
Definition RegisteredType.hpp:677
An abstract data type for a dataset.
Definition Data.hpp:17
Represents a group containing multiple datasets that are aligned on the first dimension.
Definition DynamicTable.hpp:25
Status initialize()
Initialize the object.
Definition NWBContainer.cpp:17
NWBContainer(const std::string &path, std::shared_ptr< AQNWB::IO::BaseIO > io)
Constructor.
Definition NWBContainer.cpp:11
An abstract data type for a generic container storing collections of data, as opposed to metadata.
Definition NWBDataInterface.hpp:25
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDescription() const
std::unique_ptr< RTYPE > createDynamicTable(std::string &objectName) const
std::shared_ptr< RTYPE > readDynamicTable(std::string &objectName) const
std::shared_ptr< RTYPE > readNWBDataInterface(std::string &objectName) const
ProcessingModule(const std::string &path, std::shared_ptr< AQNWB::IO::BaseIO > io)
Constructor.
Definition ProcessingModule.cpp:11
std::unique_ptr< RTYPE > createNWBDataInterface(std::string &objectName) const
Namespace for all classes related to the NWB data standard.
const std::string namespaceName
Definition core.hpp:21