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
originalH5WriteOptions
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
DefaultStringLengthintA 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.
MinimumGlobalHeapCollectionSizeintA 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.
GlobalHeapFlushThresholdlongA value that indicates the threshold after which global heap collections will be flushed. The default value is 4096 * 1024 = 4 MB.
PreferCompactDatasetLayoutboolA 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.
IncludeStructFieldsboolA value that indicates whether struct fields are handled during serialization. The default value is true.
IncludeStructPropertiesboolA value that indicates whether struct properties are handled during serialization. The default value is false.
IncludeClassFieldsboolA value that indicates whether class fields are handled during serialization. The default value is false.
IncludeClassPropertiesboolA value that indicates whether class properties are handled during serialization. The default value is true.
FieldNameMapperFunc<FieldInfo, string>Maps a FieldInfo to the name of the HDF5 member.
FieldStringLengthMapperFunc<FieldInfo, int?>Maps a FieldInfo of type string to the desired string length.
PropertyNameMapperFunc<PropertyInfo, string>Maps a PropertyInfo to the name of the HDF5 member.
PropertyStringLengthMapperFunc<PropertyInfo, int?>Maps a PropertyInfo of type string to the desired string length.
FiltersList<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
EqualityContract
protected virtual Type EqualityContract { get; }
Property Value
FieldNameMapper
Maps a FieldInfo to the name of the HDF5 member.
public Func<FieldInfo, string?>? FieldNameMapper { get; init; }
Property Value
FieldStringLengthMapper
Maps a FieldInfo of type string to the desired string length.
public Func<FieldInfo, int?>? FieldStringLengthMapper { get; init; }
Property Value
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
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
IncludeClassFields
A value that indicates whether class fields are handled during serialization. The default value is false.
public bool IncludeClassFields { get; init; }
Property Value
IncludeClassProperties
A value that indicates whether class properties are handled during serialization. The default value is true.
public bool IncludeClassProperties { get; init; }
Property Value
IncludeStructFields
A value that indicates whether struct fields are handled during serialization. The default value is true.
public bool IncludeStructFields { get; init; }
Property Value
IncludeStructProperties
A value that indicates whether struct properties are handled during serialization. The default value is false.
public bool IncludeStructProperties { get; init; }
Property Value
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
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
PropertyNameMapper
Maps a PropertyInfo to the name of the HDF5 member.
public Func<PropertyInfo, string?>? PropertyNameMapper { get; init; }
Property Value
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
DefaultStringLengthintMinimumGlobalHeapCollectionSizeintGlobalHeapFlushThresholdlongPreferCompactDatasetLayoutboolIncludeStructFieldsboolIncludeStructPropertiesboolIncludeClassFieldsboolIncludeClassPropertiesboolFieldNameMapperFunc<FieldInfo, string>FieldStringLengthMapperFunc<FieldInfo, int?>PropertyNameMapperFunc<PropertyInfo, string>PropertyStringLengthMapperFunc<PropertyInfo, int?>FiltersList<H5Filter>
Equals(H5WriteOptions?)
public virtual bool Equals(H5WriteOptions? other)
Parameters
otherH5WriteOptions
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
PrintMembers(StringBuilder)
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
builderStringBuilder
Returns
ToString()
public override string ToString()
Returns
<Clone>$()
public virtual H5WriteOptions <Clone>$()
Returns
Operators
operator ==(H5WriteOptions?, H5WriteOptions?)
public static bool operator ==(H5WriteOptions? left, H5WriteOptions? right)
Parameters
leftH5WriteOptionsrightH5WriteOptions
Returns
operator !=(H5WriteOptions?, H5WriteOptions?)
public static bool operator !=(H5WriteOptions? left, H5WriteOptions? right)
Parameters
leftH5WriteOptionsrightH5WriteOptions