aqnwb 0.1.0
Loading...
Searching...
No Matches
Container.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5
7
8namespace AQNWB::NWB
9{
16{
17public:
18 // Register the Container class as a registered type
19 REGISTER_SUBCLASS(Container, "hdmf-common")
20
21
27 Container(const std::string& path, std::shared_ptr<IO::BaseIO> io);
28
32 virtual ~Container();
33
39
40 // Define the data fields to expose for lazy read access
43 std::string,
44 "neurodata_type",
45 The name of the type)
46
49 std::string,
50 "namespace",
51 The name of the namespace)
52};
53
54} // namespace AQNWB::NWB
AQNWB::Types::Status Status
Definition BaseIO.hpp:22
#define REGISTER_SUBCLASS(T, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:373
#define DEFINE_FIELD(name, storageObjectType, default_type, fieldPath, description)
Defines a lazy-loaded field accessor function.
Definition RegisteredType.hpp:407
Container(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition Container.cpp:10
Status initialize()
Initialize the container.
Definition Container.cpp:20
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readNeurodataType() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readNamespace() const
virtual ~Container()
Destructor.
Definition Container.cpp:17
RegisteredType(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition RegisteredType.cpp:15
Namespace for all classes related to the NWB data standard.
Definition TimeSeries.hpp:12
constexpr auto AttributeField
Alias for AQNWB::Types::StorageObjectType::Attribute.
Definition RegisteredType.hpp:23