v2.0.0
Loading...
Searching...
No Matches
fiff_data_ref.h File Reference

External-data reference record describing type, endianness, size and offset of an out-of-file FIFF payload. More...

#include "fiff_global.h"
#include <QtGlobal>
Include dependency graph for fiff_data_ref.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FIFFLIB::FiffDataRef
 External data reference: type, endian, byte size and offset into an external FIFF payload file. More...

Namespaces

namespace  FIFFLIB
 FIFF file I/O, in-memory data structures and high-level readers/writers.

Typedefs

typedef FiffDataRef FIFFLIB::fiffDataRefRec
 Backward-compatible typedef for the old fiffDataRefRec struct.
typedef FiffDataRefFIFFLIB::fiffDataRef
 Backward-compatible pointer typedef for the old fiffDataRef pointer.

Detailed Description

External-data reference record describing type, endianness, size and offset of an out-of-file FIFF payload.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.0.0
Date
February 2026

A FIFF_REF_ROLE / FIFF_DATA_REF tag carries a small fixed-size record (the original fiffDataRefRec, 24 bytes: two 32-bit ints followed by two 64-bit offsets) that points at a payload living in a separate file rather than inline in the FIFF tag stream. This is how the Neuromag acquisition system splits very long recordings across multiple physical files while keeping a single logical FIFF tree, and how MNE-Python's mne.io.Raw chains .fif fragments through the next_fname mechanism. FiffDataRef is the in-memory representation of that record; FiffDataRef::storageSize matches the on-disk size exactly so FiffStream can stream the data ref directly into a buffer with no per-field marshalling.

Definition in file fiff_data_ref.h.