// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
usingSystem;
usingSystem.Collections;
usingSystem.Collections.Generic;
namespaceRoslyn.Utilities
{
/// <summary>
/// A queue that will only allow one instance of an object inside of it at a time. When an
/// object is enqueued that is already in the list, it is removed from its location and placed
/// at the end of the queue. These aspects make the queue useful for LRU caches.
///
/// This class is not thread-safe. If you need it to be, wrap it within your own lock.