aqnwb 0.2.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
8
9namespace AQNWB::NWB
10{
17{
18public:
19 // Register the Container class as a registered type
23
24protected:
31 Container(const std::string& path, std::shared_ptr<IO::BaseIO> io);
32
33public:
37 virtual ~Container();
38
44
45 // Define the data fields to expose for lazy read access
47 std::string,
48 "neurodata_type",
49 The name of the type)
50
52 std::string,
53 "namespace",
54 The name of the namespace)
55};
56
57} // namespace AQNWB::NWB
AQNWB::Types::Status Status
Definition BaseIO.hpp:22
#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
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< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readNamespace() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readNeurodataType() const
virtual ~Container()
Destructor.
Definition Container.cpp:17
RegisteredType(const std::string &path, std::shared_ptr< AQNWB::IO::BaseIO > io)
Constructor.
Definition RegisteredType.cpp:18
Namespace for all classes related to the NWB data standard.
const std::string namespaceName
Definition hdmf_common.hpp:21