/// <summary>Merge an array of keys with the subspace's prefix, all sharing the same buffer</summary> /// <param name="keys">Array of keys to pack</param> /// <returns>Array of slices (for all keys) that share the same underlying buffer</returns> public Slice[] ConcatKeys(IEnumerable <Slice> keys) { if (keys == null) { throw new ArgumentNullException("keys"); } //REVIEW: what to do with keys that are Slice.Nil ? return(Slice.ConcatRange(GetKeyPrefix(), keys)); }
/// <summary>Merge an array of keys with the subspace's prefix, all sharing the same buffer</summary> /// <param name="keys">Array of keys to pack</param> /// <returns>Array of slices (for all keys) that share the same underlying buffer</returns> public Slice[] ConcatKeys <TKey>(IEnumerable <TKey> keys) where TKey : IFdbKey { if (keys == null) { throw new ArgumentNullException("keys"); } //REVIEW: what to do with keys that are Slice.Nil ? return(Slice.ConcatRange(GetKeyPrefix(), keys.Select(key => key.ToFoundationDbKey()))); }
/// <summary>Merge an array of keys with the subspace's prefix, all sharing the same buffer</summary> /// <param name="keys">Array of keys to pack</param> /// <returns>Array of slices (for all keys) that share the same underlying buffer</returns> public Slice[] ConcatKeys(IEnumerable <Slice> keys) { Contract.NotNull(keys, nameof(keys)); //REVIEW: what to do with keys that are Slice.Nil ? return(Slice.ConcatRange(GetKeyPrefix(), keys)); }