Shouldn't TQueue have a Contains function?

It’s a container, right?

Proposal:


    bool Contains(ItemType& Item) const
    {
        bool found = false;
        TNode* temp = Tail;
        while (temp->NextNode != nullptr)
        {
            if (temp->NextNode->Item == Item)
            {
                found = true;
                break;
            }
            temp = temp->NextNode;
        }
        return found;
    }