v2.0.0
Loading...
Searching...
No Matches
fiff_id.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FIFF_ID_H
38#define FIFF_ID_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fiff_global.h"
45#include "fiff_types.h"
46
47//=============================================================================================================
48// QT INCLUDES
49//=============================================================================================================
50
51#include <QSharedPointer>
52#include <memory>
53
54//=============================================================================================================
55// DEFINE NAMESPACE FIFFLIB
56//=============================================================================================================
57
58namespace FIFFLIB
59{
60
61//=============================================================================================================
67
69
70public:
71 using SPtr = QSharedPointer<FiffId>;
72 using ConstSPtr = QSharedPointer<const FiffId>;
73 using UPtr = std::unique_ptr<FiffId>;
74 using ConstUPtr = std::unique_ptr<const FiffId>;
75
76 //=========================================================================================================
80 FiffId();
81
82 //=========================================================================================================
88 FiffId(const FiffId& p_FiffId);
89
90 //=========================================================================================================
94 ~FiffId();
95
96 //=========================================================================================================
102 static FiffId new_file_id();
103
104 //=========================================================================================================
108 void clear();
109
110 //=========================================================================================================
118 static bool get_machid(int *fixed_id);
119
120 //=========================================================================================================
126 static FiffId& getDefault();
127
128 //=========================================================================================================
132 void print() const;
133
134 //=========================================================================================================
140 inline bool isEmpty() const;
141
142 //=========================================================================================================
148 inline static qint32 storageSize();
149
150 //=========================================================================================================
156 QString toMachidString() const;
157
158 //=========================================================================================================
166 QString toString() const;
167
176 friend bool operator== (const FiffId &f1, const FiffId &f2);
177
178public:
182
183};
184
185//=============================================================================================================
186// INLINE DEFINITIONS
187//=============================================================================================================
188
189inline bool FiffId::isEmpty() const
190{
191 return this->version <= 0;
192}
193
194//=============================================================================================================
195
196inline qint32 FiffId::storageSize()
197{
198 return sizeof(FiffId::version) + sizeof(FiffId::machid) + FiffTime::storageSize();
199}
200
201//=============================================================================================================
202
203inline bool operator== (const FiffId &a, const FiffId &b)
204{
205 return (a.version == b.version &&
206 a.machid[0] == b.machid[0] &&
207 a.machid[1] == b.machid[1] &&
208 a.time.secs == b.time.secs &&
209 a.time.usecs == b.time.usecs);
210}
211} // NAMESPACE
212
213#endif // FIFF_ID_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
Old fiff_type declarations - replace them.
bool operator==(const BIDSPath &a, const BIDSPath &b)
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
bool operator==(const FiffChInfo &a, const FiffChInfo &b)
fiff_int_t machid[2]
Definition fiff_id.h:180
std::unique_ptr< FiffId > UPtr
Definition fiff_id.h:73
QString toString() const
Definition fiff_id.cpp:219
std::unique_ptr< const FiffId > ConstUPtr
Definition fiff_id.h:74
bool isEmpty() const
Definition fiff_id.h:189
QSharedPointer< FiffId > SPtr
Definition fiff_id.h:71
QString toMachidString() const
Definition fiff_id.cpp:176
FiffTime time
Definition fiff_id.h:181
static bool get_machid(int *fixed_id)
Definition fiff_id.cpp:129
static qint32 storageSize()
Definition fiff_id.h:196
QSharedPointer< const FiffId > ConstSPtr
Definition fiff_id.h:72
static FiffId new_file_id()
Definition fiff_id.cpp:88
fiff_int_t version
Definition fiff_id.h:179
void print() const
Definition fiff_id.cpp:167
static FiffId & getDefault()
Definition fiff_id.cpp:211
Time stamp record storing seconds and microseconds since epoch.
Definition fiff_time.h:61
static qint32 storageSize()
Definition fiff_time.h:109