SyoSil ApS UVM Scoreboard  1.0.3.0
Public Member Functions | Protected Member Functions | List of all members
cl_syoscb_queue_iterator_std Class Reference

Queue iterator class for iterating over std queues. More...

+ Inheritance diagram for cl_syoscb_queue_iterator_std:
+ Collaboration diagram for cl_syoscb_queue_iterator_std:

Public Member Functions

virtual cl_syoscb_proxy_item_base next ()
 Iterator API: See cl_syoscb_queue_iterator_base::next for details
 
virtual bit has_next ()
 Iterator API: See cl_syoscb_queue_iterator_base::has_next for details
 
virtual cl_syoscb_proxy_item_base previous ()
 Iterator API: See cl_syoscb_queue_iterator_base::previous for details
 
virtual bit has_previous ()
 Iterator API: See cl_syoscb_queue_iterator_base::has_previous for details
 
virtual bit first ()
 Iterator API: See cl_syoscb_queue_iterator_base::first for details
 
virtual bit last ()
 Iterator API: See cl_syoscb_queue_iterator_base::last for details
 
virtual bit set_queue (cl_syoscb_queue_base owner)
 Iterator API: See cl_syoscb_queue_iterator_base::set_queue for details
 
virtual cl_syoscb_proxy_item_base next ()
 Iterator API: Moves the iterator one step forward, returning the next item in the queue. More...
 
virtual bit has_next ()
 Iterator API: Checks if there are more items in the queue in the forward direction More...
 
virtual cl_syoscb_proxy_item_base previous ()
 Iterator API: Moves the iterator one step backward, returning the previous item in the queue. More...
 
virtual bit has_previous ()
 Iterator API: Checks if there are more items in the queue in the backward direction More...
 
virtual bit first ()
 Iterator API: Moves the iterator to the first item in the queue. More...
 
virtual bit last ()
 Iterator API: Moves the iterator to the last item in the queue. More...
 
virtual bit set_queue (cl_syoscb_queue_base owner)
 Iterator API: Sets the queue over which this iterator is iterating. More...
 
- Public Member Functions inherited from cl_syoscb_queue_iterator_base
virtual int next_index ()
 Iterator API: Returns the index of the item which would be returned if next() was called More...
 
virtual int previous_index ()
 Iterator API: Returns the index of the item which would be returned if previous() was called More...
 

Protected Member Functions

virtual cl_syoscb_proxy_item_base get_item_proxy ()
 Iterator API: See cl_syoscb_queue_iterator_base::get_item_proxy for details
 
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 moved past by calling next or previous. More...
 
- Protected Member Functions inherited from cl_syoscb_queue_iterator_base
virtual cl_syoscb_queue_base get_queue ()
 Iterator API: Internal API: Returns the queue over which this iterator is iterating. More...
 

Additional Inherited Members

- Protected Attributes inherited from cl_syoscb_queue_iterator_base
cl_syoscb_queue_base owner
 The owner of this iterator.
 
int unsigned position = 0
 Current position in the queue.
 
cl_syoscb_cfg cfg
 Local handle to the SCB cfg.
 

Detailed Description

Queue iterator class for iterating over std queues.

Definition at line 2 of file cl_syoscb_queue_iterator_std.svh.

Member Function Documentation

◆ first()

virtual bit cl_syoscb_queue_iterator_std::first ( )
virtual

Iterator API: Moves the iterator to the first item in the queue.

Calling has_previous at this point will always return 1'b0

Returns
1 if successful, 0 if the queue is empty

Reimplemented from cl_syoscb_queue_iterator_base.

◆ get_item_proxy()

virtual cl_syoscb_proxy_item_base cl_syoscb_queue_iterator_std::get_item_proxy ( )
protectedvirtual

Iterator API: Internal API: Returns a proxy item that can be used to access the element that was just moved past by calling next or previous.

Returns
A proxy item for the element that was moved past.

Reimplemented from cl_syoscb_queue_iterator_base.

◆ has_next()

virtual bit cl_syoscb_queue_iterator_std::has_next ( )
virtual

Iterator API: Checks if there are more items in the queue in the forward direction

Returns
1 if there are more items in the forward direction, 0 otherwise (either empty queue or past last item)

Reimplemented from cl_syoscb_queue_iterator_base.

◆ has_previous()

virtual bit cl_syoscb_queue_iterator_std::has_previous ( )
virtual

Iterator API: Checks if there are more items in the queue in the backward direction

Returns
1 if there are more items in the backward direction, 0 otherwise (either empty queue or at first item)

Reimplemented from cl_syoscb_queue_iterator_base.

◆ last()

virtual bit cl_syoscb_queue_iterator_std::last ( )
virtual

Iterator API: Moves the iterator to the last item in the queue.

Calling has_next at this point will always return 1'b0.

Returns
1 if succesful, 0 if there is no first item (queue is empty)

Reimplemented from cl_syoscb_queue_iterator_base.

◆ next()

virtual cl_syoscb_proxy_item_base cl_syoscb_queue_iterator_std::next ( )
virtual

Iterator API: Moves the iterator one step forward, returning the next item in the queue.

Returns
The next item if successful, raises a uvm_error if there is no next item

Reimplemented from cl_syoscb_queue_iterator_base.

◆ previous()

virtual cl_syoscb_proxy_item_base cl_syoscb_queue_iterator_std::previous ( )
virtual

Iterator API: Moves the iterator one step backward, returning the previous item in the queue.

Returns
The previous item if successful, raises a uvm_error if there is no previous item

Reimplemented from cl_syoscb_queue_iterator_base.

◆ set_queue()

virtual bit cl_syoscb_queue_iterator_std::set_queue ( cl_syoscb_queue_base  owner)
virtual

Iterator API: Sets the queue over which this iterator is iterating.

If a queue has already been associated with this iterator, or the queue type does not match the iterator type, generates a UVM_ERROR message with id ITER_ERROR.

Returns
1 if successful, raises a UVM_ERROR otherwise (a queue is already associated with this iterator, or wrong queue type)

Reimplemented from cl_syoscb_queue_iterator_base.


The documentation for this class was generated from the following files:

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.3.0

Copyright 2014-2022 SyoSil ApS
All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
doxygen
Doxygen Version: 1.8.14
Generated with IDV SV Filter Version: 2.6.3
Fri Sep 2 2022 14:41:13
Find a documentation bug? Report bugs to: scoreboard@syosil.com