FIFF tag: the 16-byte tag header (kind, type, size, next) plus its decoded payload. More...
#include "fiff_global.h"#include "fiff_constants.h"#include "fiff_file.h"#include "fiff_types.h"#include "fiff_id.h"#include "fiff_coord_trans.h"#include "fiff_ch_info.h"#include "fiff_ch_pos.h"#include "fiff_dir_entry.h"#include "fiff_dig_point.h"#include <Eigen/Core>#include <Eigen/SparseCore>#include <QDebug>#include <QByteArray>#include <QList>#include <QSharedPointer>#include <QVector>#include <iostream>#include <memory>

Go to the source code of this file.
Classes | |
| class | FIFFLIB::FiffTag |
| FIFF tag: 16-byte header (kind, type, size, next) plus payload, with typed decoders for every FIFFT_* type. More... | |
Namespaces | |
| namespace | FIFFLIB |
| FIFF file I/O, in-memory data structures and high-level readers/writers. | |
Macros | |
| #define | NATIVE_ENDIAN FIFFV_LITTLE_ENDIAN |
| #define | IS_MATRIX 0xFFFF0000 |
| #define | MATRIX_CODING_DENSE 0x00004000 |
| #define | MATRIX_CODING_CCS 0x00004010 |
| #define | MATRIX_CODING_RCS 0x00004020 |
| #define | DATA_TYPE 0x0000FFFF |
FIFF tag: the 16-byte tag header (kind, type, size, next) plus its decoded payload.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2012-2026 MNE-CPP Authors
A FIFF tag is the atomic unit of the format: a fixed 16-byte header (kind, type, size, next) followed by size bytes of payload whose interpretation depends on the type descriptor. The upper byte of type selects the fundamental structure — scalar (FIFFFS_SCALAR == 0x00) or multidimensional matrix (FIFFFS_MATRIX == 0x40) — and the matrix variants additionally carry a coding flag in the low bits selecting dense (MATRIX_CODING_DENSE), column-compressed sparse (MATRIX_CODING_CCS) or row-compressed sparse (MATRIX_CODING_RCS) storage. FiffTag is the C++ wrapper that holds the header fields, the raw payload bytes and a small set of typed accessors (toInt, toFloat, toMatrix, toCoordTrans, toChInfo, ...) that decode the payload on demand into the relevant FIFFLIB class.
The header also re-publishes the IS_MATRIX / MATRIX_CODING_* bitmasks and the NATIVE_ENDIAN macro driven by the OS-detection ladder above so callers can compare FiffTag::type against a canonical mask without duplicating the bit fiddling.
Definition in file fiff_tag.h.
| #define DATA_TYPE 0x0000FFFF |
DATA_TYPE encoding 0000ffff.
Definition at line 137 of file fiff_tag.h.
| #define IS_MATRIX 0xFFFF0000 |
Is Matrix encoding. ffff0000.
Definition at line 133 of file fiff_tag.h.
| #define MATRIX_CODING_CCS 0x00004010 |
MATRIX_CODING_CCS encoding. 4010.
Definition at line 135 of file fiff_tag.h.
| #define MATRIX_CODING_DENSE 0x00004000 |
MATRIX_CODING_DENSE encoding. 4000.
Definition at line 134 of file fiff_tag.h.
| #define MATRIX_CODING_RCS 0x00004020 |
MATRIX_CODING_RCS encoding. 4020.
Definition at line 136 of file fiff_tag.h.
| #define NATIVE_ENDIAN FIFFV_LITTLE_ENDIAN |
Definition at line 68 of file fiff_tag.h.