asdf/emitter.h

enum asdf_array_storage_t

Controls where an ndarray’s data is stored when written.

Used both as a per-array setting (see asdf_ndarray_storage_set) and as a file-level override in asdf_emitter_cfg_t.

enumerator ASDF_ARRAY_STORAGE_DEFAULT = 0

Use the file-level array_storage emitter setting (default).

enumerator ASDF_ARRAY_STORAGE_INLINE = 1

Store the array as inline YAML data under the data key.

enumerator ASDF_ARRAY_STORAGE_INTERNAL = 2

Store the array in an internal binary block.

enumerator ASDF_ARRAY_STORAGE_EXTERNAL = 3

Store the array in an external file (reserved; not yet supported).

struct asdf_emitter_cfg

Low-level emitter configuration

Currently just consists of a bitset of flags that are used internally by the library; these flags are not currently documented.

size_t inline_ndarray_warning_thresh

Number of elements above which a warning is logged when writing an ndarray with inline data. Set to 0 to use the library default (1024). Set to SIZE_MAX to suppress the warning entirely.

asdf_array_storage_t array_storage

Override where all ndarray data is written; see asdf_array_storage_t. Defaults to ASDF_ARRAY_STORAGE_DEFAULT (0), which respects the per-array storage mode set via asdf_ndarray_storage_set.