Show / Hide Table of Contents

Struct MetaHandle

Represents a tuple of an unsigned integer with optional int or string metadata. If metadata is null then integer is stored by itself in an efficient way. The type is useful for storage of handles/indexes (such as pointer surrogates) with optional description of pointed-to data (such as type information). A special case is reserved for strings which are immutable yet reference types, in which case a special handle INLINED_STRING_HANDLE is set to indicate that "Metadata" really contains string data that this handle should resolve into. Check "IsInlinedString" property to see if string was inlined. Check "IsInlinedValueType" is set to true when a struct/valuetype is inlined and "Metadata" contains type spec

Implements
System.IEquatable<MetaHandle>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: NFX.IO
Assembly: NFX.dll
Syntax
[Serializable]
public struct MetaHandle : IEquatable<MetaHandle>

Constructors

MetaHandle(Boolean, UInt32)

Declaration
public MetaHandle(bool serializer, uint handle)
Parameters
Type Name Description
System.Boolean serializer
System.UInt32 handle

MetaHandle(UInt32)

Declaration
public MetaHandle(uint handle)
Parameters
Type Name Description
System.UInt32 handle

MetaHandle(UInt32, Nullable<VarIntStr>)

Declaration
public MetaHandle(uint handle, VarIntStr? metadata)
Parameters
Type Name Description
System.UInt32 handle
System.Nullable<VarIntStr> metadata

Properties

Handle

Returns handle value. This value is invalid if special conditions such as inlining are true

Declaration
public uint Handle { get; }
Property Value
Type Description
System.UInt32

IntMetadata

Declaration
public uint IntMetadata { get; }
Property Value
Type Description
System.UInt32

IsInlinedRefType

Indicates whether a reference (reference type) instance is inlined right after this handle and Metadata property contains type. This is used for handling of ref types that are natively supported by streamers

Declaration
public bool IsInlinedRefType { get; }
Property Value
Type Description
System.Boolean

IsInlinedString

Indicates whether a string instance is inlined in Metadata property

Declaration
public bool IsInlinedString { get; }
Property Value
Type Description
System.Boolean

IsInlinedTypeValue

Indicates whether a reference to TYPE is inlined - that is a Metadata parameter points to the value of type (reference to Type)

Declaration
public bool IsInlinedTypeValue { get; }
Property Value
Type Description
System.Boolean

IsInlinedValueType

Indicates whether a struct (value type) instance is inlined right after this handle and Metadata property contains type

Declaration
public bool IsInlinedValueType { get; }
Property Value
Type Description
System.Boolean

Metadata

Declaration
public VarIntStr? Metadata { get; }
Property Value
Type Description
System.Nullable<VarIntStr>

StringMetadata

Declaration
public string StringMetadata { get; }
Property Value
Type Description
System.String

Methods

Equals(MetaHandle)

Declaration
public bool Equals(MetaHandle other)
Parameters
Type Name Description
MetaHandle other
Returns
Type Description
System.Boolean

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
System.Object obj
Returns
Type Description
System.Boolean
Overrides
System.ValueType.Equals(System.Object)

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32
Overrides
System.ValueType.GetHashCode()

InlineRefType(Nullable<VarIntStr>)

Inlines ref type instead of pointer handle

Declaration
public static MetaHandle InlineRefType(VarIntStr? inlinedRefType)
Parameters
Type Name Description
System.Nullable<VarIntStr> inlinedRefType
Returns
Type Description
MetaHandle

InlineString(String)

Inlines string instance instead of pointer handle

Declaration
public static MetaHandle InlineString(string inlinedString)
Parameters
Type Name Description
System.String inlinedString
Returns
Type Description
MetaHandle

InlineTypeValue(Nullable<VarIntStr>)

Inlines type value instead of pointer handle

Declaration
public static MetaHandle InlineTypeValue(VarIntStr? inlinedTypeValue)
Parameters
Type Name Description
System.Nullable<VarIntStr> inlinedTypeValue
Returns
Type Description
MetaHandle

InlineValueType(Nullable<VarIntStr>)

Inlines value type instead of pointer handle

Declaration
public static MetaHandle InlineValueType(VarIntStr? inlinedValueType)
Parameters
Type Name Description
System.Nullable<VarIntStr> inlinedValueType
Returns
Type Description
MetaHandle

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.ValueType.ToString()

Implements

System.IEquatable<T>

Extension Methods

ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX