void InitializeRawRow() { if (rawRow != null) { return; } rawRow = readerModule.TablesStream.ReadFieldMarshalRow(rid); }
/// <summary> /// Reads a raw <c>FieldMarshal</c> row or returns false if the row doesn't exist /// </summary> /// <param name="rid">Row ID</param> /// <param name="row">Row data</param> /// <returns></returns> public bool TryReadFieldMarshalRow(uint rid, out RawFieldMarshalRow row) { var table = FieldMarshalTable; if (table.IsInvalidRID(rid)) { row = default; return(false); } var reader = table.DataReader; reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize; row = new RawFieldMarshalRow( table.Column0.Unsafe_Read24(ref reader), table.Column1.Unsafe_Read24(ref reader)); return(true); }
public int GetHashCode(RawFieldMarshalRow obj) => (int)obj.Parent + rol(obj.NativeType, 3);
public bool Equals(RawFieldMarshalRow x, RawFieldMarshalRow y) => x.Parent == y.Parent && x.NativeType == y.NativeType;
public bool Equals(RawFieldMarshalRow x, RawFieldMarshalRow y) { return(x.Parent == y.Parent && x.NativeType == y.NativeType); }
static uint ReadFieldMarshalColumnMethod(ref RawFieldMarshalRow row, int index) => row[index];