public int GetHashCode(RawDocumentRow obj)
 {
     return((int)obj.Name +
            rol(obj.HashAlgorithm, 3) +
            rol(obj.Hash, 7) +
            rol(obj.Language, 11));
 }
 public bool Equals(RawDocumentRow x, RawDocumentRow y)
 {
     return(x.Name == y.Name &&
            x.HashAlgorithm == y.HashAlgorithm &&
            x.Hash == y.Hash &&
            x.Language == y.Language);
 }
Exemple #3
0
        /// <summary>
        /// Reads a raw <c>Document</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 TryReadDocumentRow(uint rid, out RawDocumentRow row)
        {
            var table = DocumentTable;

            if (table.IsInvalidRID(rid))
            {
                row = default;
                return(false);
            }
            var reader = table.DataReader;

            reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize;
            row             = new RawDocumentRow(
                table.Column0.Unsafe_Read24(ref reader),
                table.Column1.Unsafe_Read24(ref reader),
                table.Column2.Unsafe_Read24(ref reader),
                table.Column3.Unsafe_Read24(ref reader));
            return(true);
        }
Exemple #4
0
 static uint ReadDocumentColumnMethod(ref RawDocumentRow row, int index) => row[index];