Beispiel #1
0
 private static void VerifyIsInitialized <U>(QID <U> other)
 {
     if (!other.mInitialized)
     {
         other.ComplainUninitialized("Other");
     }
 }
Beispiel #2
0
        public bool Equals(QID <TQualification> obj)
        {
#if DEBUG
            VerifyThisIsInitialized();
            VerifyIsInitialized(obj);
#endif

            return(obj.IDValue == IDValue);
        }
Beispiel #3
0
 public TValue GetValue(QID <TQualification> key) => Data.GetValue(key);
Beispiel #4
0
 public int CompareTo(QID <TQualification> other) => IDValue.CompareTo(other.IDValue);
 // This uses "U" type as the interim key for search!! ; but exposes TValue - obvious useful when TValue works as a key.
 public Func <TValue, QID <TQualification> > BuildReverseSearchBasedOnInterimKey <U>(Func <TValue, U> f) => Data.Select((x, ord) => Tuple.Create(f(x), QID.Build <TQualification>(ord))).ToDictionary().Let(d => new Func <TValue, QID <TQualification> >(x => d.GetValue(f(x))));
 // This uses "U" type as the search clause, i.e. no intermediary transformer - **ONLY** use when U can serve as a search key.
 public Func <U, QID <TQualification> > BuildReverseSearchBasedOnValueDictionary <U>(Func <TValue, U> f) => Data.Select((x, ord) => Tuple.Create(f(x), QID.Build <TQualification>(ord))).ToDictionary().GetValue;
 public QualifiedPackedStore <TQualification, U> Transformed <U>(Func <QID <TQualification>, TValue, U> f) => new QualifiedPackedStore <TQualification, U>(Data.Select((v, ord) => f(QID.Build <TQualification>(ord), v)).ToArray());
 public TValue GetValue(QID <TQualification> key) => Data[key.IDValue];
 public IEnumerable <Tuple <QID <TQualification>, TValue> > GetIDQualifiedValues() => Data.Select((x, ord) => Tuple.Create(QID.Build <TQualification>(ord), x));