コード例 #1
0
        /// <summary>
        /// 最上位のテーブルを <paramref name="ref"/> から作成
        /// </summary>
        public RealmTable(ReferenceAccessor @ref)
        {
            this.Ref = @ref;

            var tableArray = new RealmArray(@ref);

            this.Spec    = new TableSpec(@ref.NewRef((ulong)tableArray[0]));
            this.Columns = new RealmArray(@ref.NewRef((ulong)tableArray[1]));
        }
コード例 #2
0
        public RealmArrayBinary(ReferenceAccessor @ref)
        {
            var array = new RealmArray(@ref);

            this._array = array;

            this._offsets = new RealmArray(@ref.NewRef((ulong)array[0]));

            // ArrayBlob なので一応 Array のヘッダーを持っている
            this._blob = @ref.NewRef((ulong)array[1] + RealmArrayHeader.HeaderSize);

            // 旧バージョンでは nulls がなかった
            if (array.Count >= 3)
            {
                this._nulls = new RealmArray(@ref.NewRef((ulong)array[2]));
            }
        }
コード例 #3
0
        public RealmArrayStringLong(ReferenceAccessor @ref, bool nullable)
        {
            this.Nullable = nullable;

            var array = new RealmArray(@ref);

            this._array = array;

            this._offsets = new RealmArray(@ref.NewRef((ulong)array[0]));

            // ArrayBlob なので一応 Array のヘッダーを持っている
            this._blob = @ref.NewRef((ulong)array[1] + RealmArrayHeader.HeaderSize);

            if (nullable)
            {
                this._nulls = new RealmArray(@ref.NewRef((ulong)array[2]));
            }
        }
コード例 #4
0
        public TableSpec(ReferenceAccessor @ref)
        {
            this.Ref = @ref;

            var specArray = new RealmArray(@ref);

            this._types = new RealmArray(@ref.NewRef((ulong)specArray[0]));
            this._names = new RealmArrayString(@ref.NewRef((ulong)specArray[1]), false);
            this._attr  = new RealmArray(@ref.NewRef((ulong)specArray[2]));

            if (specArray.Count >= 4)
            {
                var subspecsRef = (ulong)specArray[3];
                if (subspecsRef != 0)
                {
                    this._subspecs = new RealmArray(@ref.NewRef(subspecsRef));
                }
            }
        }
コード例 #5
0
 public RealmArrayString(ReferenceAccessor @ref, bool nullable)
 {
     this.Ref      = @ref;
     this.Header   = new RealmArrayHeader(@ref);
     this.Nullable = nullable;
 }
コード例 #6
0
 public RealmArray(ReferenceAccessor @ref)
 {
     this.Ref    = @ref;
     this.Header = new RealmArrayHeader(@ref);
 }
コード例 #7
0
 public RealmArrayBigBlobs(ReferenceAccessor @ref)
 {
     this._array = new RealmArray(@ref);
 }
コード例 #8
0
ファイル: BpTree.cs プロジェクト: azyobuzin/RealmCompatReader
 public BpTree(ReferenceAccessor @ref)
 {
     this.Ref   = @ref;
     this._root = new RealmArray(@ref);
 }
コード例 #9
0
 public RealmArrayIntNull(ReferenceAccessor @ref)
 {
     this._array = new RealmArray(@ref);
 }
コード例 #10
0
 public RealmArrayHeader(ReferenceAccessor @ref)
 {
     this.Ref = @ref;
 }