33 `uvm_object_utils_begin(cl_syoscb_queue_iterator_base)
34 `uvm_field_object(owner, UVM_DEFAULT)
35 `uvm_field_int(position, UVM_DEFAULT | UVM_DEC)
36 `uvm_field_object(cfg, UVM_DEFAULT | UVM_REFERENCE)
39 function new(string name = "cl_syoscb_queue_iterator_base");
47 extern
virtual function bit
has_next();
52 extern
virtual function bit
first();
53 extern
virtual function bit
last();
55 extern
virtual function bit
set_queue(cl_syoscb_queue_base owner);
63 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::next() *MUST* be overwritten"));
70 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::has_next() *MUST* be overwritten"));
83 `uvm_fatal("IMPL_ERROR",
84 $sformatf("cl_syoscb_queue_iterator_base::previous() *MUST* be overwritten"));
91 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::has_previous() *MUST* be overwritten"));
105 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::first() *MUST* be overwritten"));
113 `uvm_fatal("IMPL_ERROR", $sformatf("cl_syoscb_queue_iterator_base::last() *MUST* be overwritten"));
120 if(this.owner == null) begin
122 `uvm_fatal("QUEUE_ERROR",
123 $sformatf("Unable to find queue associated with iterator %s", this.get_name()));
135 `uvm_fatal("IMPL_ERROR",
136 $sformatf("cl_syoscb_queue_iterator_base::set_queue() *MUST* be overwritten"));
144 `uvm_fatal("IMPL_ERROR",
145 $sformatf("cl_syoscb_queue_iterator_base::get_item_proxy() *MUST* be overwritten"));
cl_syoscb_queue_base owner
The owner of this iterator.
virtual cl_syoscb_proxy_item_base previous()
Iterator API: Moves the iterator one step backward, returning the previous item in the queue...
virtual bit has_next()
Iterator API: Checks if there are more items in the queue in the forward direction ...
virtual cl_syoscb_queue_base get_queue()
Iterator API: Internal API: Returns the queue over which this iterator is iterating.
Base class for all proxy items.
virtual int next_index()
Iterator API: Returns the index of the item which would be returned if next() was called ...
cl_syoscb_cfg cfg
Local handle to the SCB cfg.
virtual int previous_index()
Iterator API: Returns the index of the item which would be returned if previous() was called ...
virtual bit first()
Iterator API: Moves the iterator to the first item in the queue.
Queue iterator base class defining the iterator API used for iterating over queues.
int unsigned position
Current position in the queue.
Class which represents the base concept of a queue.
virtual cl_syoscb_proxy_item_base next()
Iterator API: Moves the iterator one step forward, returning the next item in the queue...
virtual bit last()
Iterator API: Moves the iterator to the last item in the queue.
virtual bit set_queue(cl_syoscb_queue_base owner)
Iterator API: Sets the queue over which this iterator is iterating.
virtual cl_syoscb_proxy_item_base get_item_proxy()
Iterator API: Internal API: Returns a proxy item that can be used to access the element that was just...
virtual bit has_previous()
Iterator API: Checks if there are more items in the queue in the backward direction ...
Configuration class for the SyoSil UVM scoreboard.