In reply to haykp:
uvm_queue is just a convenience class wrapper around a SystemVerilog queue. You can pass a handle to the uvm_queue object around instead of the passing the entire queue. It also provides a singleton queue object of the particular type. This class is more useful to the UVM base class library, but they made it publicly available.