3using System.Collections;
4using System.Collections.ObjectModel;
10 public QueryArr(IEnumerable<T> v)
14 throw new ArgumentNullException(nameof(v),
"Value cannot be null.");
17 Unwrap =
new ReadOnlyCollection<T>(v.ToList());
20 public ReadOnlyCollection<T> Unwrap {
get; }
22 public int Count => Unwrap.Count;
24 public T
this[
int index] => Unwrap[index];
28 throw new NotImplementedException();
31 public override bool Equals(
Query? o)
33 return o is QueryArr<T> other && Unwrap.SequenceEqual(other.Unwrap);
36 public override bool Equals(
object? otherObject)
38 return Equals(otherObject as
Query);
41 public override int GetHashCode()
46 for (
int i = 0; i < Unwrap.Count; i++)
49 hash = hash * 31 + (item?.GetHashCode() ?? 0);
55 public override string ToString()
57 return $
"QueryArr({string.Join(",
", Unwrap)})";
60 public IEnumerator<T> GetEnumerator()
62 return Unwrap.GetEnumerator();
65 IEnumerator IEnumerable.GetEnumerator()
67 return GetEnumerator();
Represents the abstract base class for constructing FQL queries.
Provides functionality for writing data in a streaming manner to a buffer or a stream.
Represents the base interface for a query fragment used for FQL query construction.