Beispiel #1
0
        private T Take(Func <T> storageAccessor)
        {
            if (SecondaryStorage.IsEmpty())
            {
                PrimaryStorage.ReverseTo(SecondaryStorage);
            }

            return(storageAccessor.Invoke());
        }
Beispiel #2
0
        public void Enqueue(T item)
        {
            if (PrimaryStorage.IsEmpty())
            {
                SecondaryStorage.ReverseTo(PrimaryStorage);
            }

            PrimaryStorage.Push(item);
        }
Beispiel #3
0
 public bool IsEmpty() => PrimaryStorage.IsEmpty() && SecondaryStorage.IsEmpty();