Table of Contents

Class H5WriteOptions

Namespace
PureHDF
Assembly
PureHDF.dll

Provides options to be used with H5File.

public record H5WriteOptions : IEquatable<H5WriteOptions>
Inheritance
H5WriteOptions
Implements

Constructors

H5WriteOptions(H5WriteOptions)

protected H5WriteOptions(H5WriteOptions original)

Parameters

original H5WriteOptions

H5WriteOptions(int, int, long, bool, bool, bool, bool, bool, Func<FieldInfo, string?>?, Func<FieldInfo, int?>?, Func<PropertyInfo, string?>?, Func<PropertyInfo, int?>?, List<H5Filter>?)

Provides options to be used with H5File.

public H5WriteOptions(int DefaultStringLength = 0, int MinimumGlobalHeapCollectionSize = 4096, long GlobalHeapFlushThreshold = 4194304, bool PreferCompactDatasetLayout = true, bool IncludeStructFields = true, bool IncludeStructProperties = false, bool IncludeClassFields = false, bool IncludeClassProperties = true, Func<FieldInfo, string?>? FieldNameMapper = null, Func<FieldInfo, int?>? FieldStringLengthMapper = null, Func<PropertyInfo, string?>? PropertyNameMapper = null, Func<PropertyInfo, int?>? PropertyStringLengthMapper = null, List<H5Filter>? Filters = null)

Parameters

DefaultStringLength int

A value that indicates how strings are handled during serialization. A nonzero positve value means that strings are treated as fixed-length strings, otherwise they are variable-length strings. The default value is 0.

MinimumGlobalHeapCollectionSize int

A value that indicates the minimum size of a global heap collection in bytes. The default value is 4096 bytes which is the absolute minimum allowed size.

GlobalHeapFlushThreshold long

A value that indicates the threshold after which global heap collections will be flushed. The default value is 4096 * 1024 = 4 MB.

PreferCompactDatasetLayout bool

A value that indicates whether the writer tries to use the compact layout for datasets if the total data size is < 64 kB and it should not be chunked.

IncludeStructFields bool

A value that indicates whether struct fields are handled during serialization. The default value is true.

IncludeStructProperties bool

A value that indicates whether struct properties are handled during serialization. The default value is false.

IncludeClassFields bool

A value that indicates whether class fields are handled during serialization. The default value is false.

IncludeClassProperties bool

A value that indicates whether class properties are handled during serialization. The default value is true.

FieldNameMapper Func<FieldInfo, string>

Maps a FieldInfo to the name of the HDF5 member.

FieldStringLengthMapper Func<FieldInfo, int?>

Maps a FieldInfo of type string to the desired string length.

PropertyNameMapper Func<PropertyInfo, string>

Maps a PropertyInfo to the name of the HDF5 member.

PropertyStringLengthMapper Func<PropertyInfo, int?>

Maps a PropertyInfo of type string to the desired string length.

Filters List<H5Filter>

A list of filters and their options to be applied to datasets that have no explicit filters assigned.

Properties

DefaultStringLength

A value that indicates how strings are handled during serialization. A nonzero positve value means that strings are treated as fixed-length strings, otherwise they are variable-length strings. The default value is 0.

public int DefaultStringLength { get; init; }

Property Value

int

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

FieldNameMapper

Maps a FieldInfo to the name of the HDF5 member.

public Func<FieldInfo, string?>? FieldNameMapper { get; init; }

Property Value

Func<FieldInfo, string>

FieldStringLengthMapper

Maps a FieldInfo of type string to the desired string length.

public Func<FieldInfo, int?>? FieldStringLengthMapper { get; init; }

Property Value

Func<FieldInfo, int?>

Filters

A list of filters and their options to be applied to datasets that have no explicit filters assigned.

public List<H5Filter>? Filters { get; init; }

Property Value

List<H5Filter>

GlobalHeapFlushThreshold

A value that indicates the threshold after which global heap collections will be flushed. The default value is 4096 * 1024 = 4 MB.

public long GlobalHeapFlushThreshold { get; init; }

Property Value

long

IncludeClassFields

A value that indicates whether class fields are handled during serialization. The default value is false.

public bool IncludeClassFields { get; init; }

Property Value

bool

IncludeClassProperties

A value that indicates whether class properties are handled during serialization. The default value is true.

public bool IncludeClassProperties { get; init; }

Property Value

bool

IncludeStructFields

A value that indicates whether struct fields are handled during serialization. The default value is true.

public bool IncludeStructFields { get; init; }

Property Value

bool

IncludeStructProperties

A value that indicates whether struct properties are handled during serialization. The default value is false.

public bool IncludeStructProperties { get; init; }

Property Value

bool

MinimumGlobalHeapCollectionSize

A value that indicates the minimum size of a global heap collection in bytes. The default value is 4096 bytes which is the absolute minimum allowed size.

public int MinimumGlobalHeapCollectionSize { get; init; }

Property Value

int

PreferCompactDatasetLayout

A value that indicates whether the writer tries to use the compact layout for datasets if the total data size is < 64 kB and it should not be chunked.

public bool PreferCompactDatasetLayout { get; init; }

Property Value

bool

PropertyNameMapper

Maps a PropertyInfo to the name of the HDF5 member.

public Func<PropertyInfo, string?>? PropertyNameMapper { get; init; }

Property Value

Func<PropertyInfo, string>

PropertyStringLengthMapper

Maps a PropertyInfo of type string to the desired string length.

public Func<PropertyInfo, int?>? PropertyStringLengthMapper { get; init; }

Property Value

Func<PropertyInfo, int?>

Methods

Deconstruct(out int, out int, out long, out bool, out bool, out bool, out bool, out bool, out Func<FieldInfo, string?>?, out Func<FieldInfo, int?>?, out Func<PropertyInfo, string?>?, out Func<PropertyInfo, int?>?, out List<H5Filter>?)

public void Deconstruct(out int DefaultStringLength, out int MinimumGlobalHeapCollectionSize, out long GlobalHeapFlushThreshold, out bool PreferCompactDatasetLayout, out bool IncludeStructFields, out bool IncludeStructProperties, out bool IncludeClassFields, out bool IncludeClassProperties, out Func<FieldInfo, string?>? FieldNameMapper, out Func<FieldInfo, int?>? FieldStringLengthMapper, out Func<PropertyInfo, string?>? PropertyNameMapper, out Func<PropertyInfo, int?>? PropertyStringLengthMapper, out List<H5Filter>? Filters)

Parameters

DefaultStringLength int
MinimumGlobalHeapCollectionSize int
GlobalHeapFlushThreshold long
PreferCompactDatasetLayout bool
IncludeStructFields bool
IncludeStructProperties bool
IncludeClassFields bool
IncludeClassProperties bool
FieldNameMapper Func<FieldInfo, string>
FieldStringLengthMapper Func<FieldInfo, int?>
PropertyNameMapper Func<PropertyInfo, string>
PropertyStringLengthMapper Func<PropertyInfo, int?>
Filters List<H5Filter>

Equals(H5WriteOptions?)

public virtual bool Equals(H5WriteOptions? other)

Parameters

other H5WriteOptions

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

<Clone>$()

public virtual H5WriteOptions <Clone>$()

Returns

H5WriteOptions

Operators

operator ==(H5WriteOptions?, H5WriteOptions?)

public static bool operator ==(H5WriteOptions? left, H5WriteOptions? right)

Parameters

left H5WriteOptions
right H5WriteOptions

Returns

bool

operator !=(H5WriteOptions?, H5WriteOptions?)

public static bool operator !=(H5WriteOptions? left, H5WriteOptions? right)

Parameters

left H5WriteOptions
right H5WriteOptions

Returns

bool