aqnwb 0.1.0
Loading...
Searching...
No Matches
Types.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <vector>
5
6namespace AQNWB
7{
8
9// Forward declaration of Channel
10class Channel;
11
15class Types
16{
17public:
21 enum Status
22 {
25 };
26
33 friend Status operator&&(Status lhs, Status rhs)
34 {
35 return (lhs == Success && rhs == Success) ? Success : Failure;
36 }
37
44 friend Status operator||(Status lhs, Status rhs)
45 {
46 return (lhs == Success || rhs == Success) ? Success : Failure;
47 }
48
53 {
54 Group = 0,
58 };
59
67 template<StorageObjectType T>
69 : std::integral_constant<bool, (T == Dataset || T == Attribute)>
70 {
71 };
72
76 using SizeType = size_t;
77
81 using SizeArray = std::vector<size_t>;
82
86 using ChannelVector = std::vector<Channel>;
87};
88} // namespace AQNWB
Class for storing acquisition system channel information.
Definition Channel.hpp:16
Provides definitions for various types used in the project.
Definition Types.hpp:16
std::vector< Channel > ChannelVector
Alias for a vector of channels.
Definition Types.hpp:86
StorageObjectType
Types of object used in the NWB schema.
Definition Types.hpp:53
@ Attribute
Definition Types.hpp:56
@ Group
Definition Types.hpp:54
@ Dataset
Definition Types.hpp:55
@ Undefined
Definition Types.hpp:57
friend Status operator&&(Status lhs, Status rhs)
Overloaded && operator for Status enum.
Definition Types.hpp:33
friend Status operator||(Status lhs, Status rhs)
Overloaded || operator for Status enum.
Definition Types.hpp:44
Status
Represents the status of an operation.
Definition Types.hpp:22
@ Success
Definition Types.hpp:23
@ Failure
Definition Types.hpp:24
std::vector< size_t > SizeArray
Alias for an array of size types used in the project.
Definition Types.hpp:81
size_t SizeType
Alias for the size type used in the project.
Definition Types.hpp:76
The main namespace for AqNWB.
Definition Channel.hpp:11
Helper struct to check if a value is a data field, i.e., Dataset or Attribute.
Definition Types.hpp:70