Ejemplo n.º 1
0
        public FdbCompressedBitmapIndex([NotNull] string name, [NotNull] FdbSubspace subspace, IEqualityComparer <TValue> valueComparer, bool indexNullValues, [NotNull] IKeyEncoder <TValue> encoder)
        {
            Contract.NotNull(name, nameof(name));
            Contract.NotNull(subspace, nameof(subspace));
            Contract.NotNull(encoder, nameof(encoder));

            this.Name            = name;
            this.Subspace        = subspace;
            this.ValueComparer   = valueComparer ?? EqualityComparer <TValue> .Default;
            this.IndexNullValues = indexNullValues;
            this.Location        = subspace.UsingEncoder(encoder);
        }
        public FdbCompressedBitmapIndex([NotNull] string name, [NotNull] FdbSubspace subspace, IEqualityComparer <TValue> valueComparer, bool indexNullValues, [NotNull] IKeyEncoder <TValue> encoder)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (subspace == null)
            {
                throw new ArgumentNullException("subspace");
            }
            if (encoder == null)
            {
                throw new ArgumentNullException("encoder");
            }

            this.Name            = name;
            this.Subspace        = subspace;
            this.ValueComparer   = valueComparer ?? EqualityComparer <TValue> .Default;
            this.IndexNullValues = indexNullValues;
            this.Location        = subspace.UsingEncoder(encoder);
        }
        public FdbDocumentCollection(FdbSubspace subspace, Func <TDocument, TId> selector, ICompositeKeyEncoder <TId, int> keyEncoder, IValueEncoder <TDocument> valueEncoder)
        {
            if (subspace == null)
            {
                throw new ArgumentNullException(nameof(subspace));
            }
            if (selector == null)
            {
                throw new ArgumentNullException(nameof(selector));
            }
            if (keyEncoder == null)
            {
                throw new ArgumentNullException(nameof(keyEncoder));
            }
            if (valueEncoder == null)
            {
                throw new ArgumentNullException(nameof(valueEncoder));
            }

            this.Subspace     = subspace;
            this.IdSelector   = selector;
            this.ValueEncoder = valueEncoder;
            this.Location     = subspace.UsingEncoder(keyEncoder);
        }