Inheritance diagram for class svt_sequence_item_base_iter:
Virtual base class which defines the iterator interface for iterating over data collectoins.
Public Member Functions | |
| virtual function svt_sequence_item_base_iter | allocate ( ) |
| function svt_sequence_item_base_iter | copy ( ) |
| function bit | find ( svt_sequence_item_base data, bit find_forward = 1 ) |
| virtual function bit | first ( ) |
| virtual function svt_sequence_item_base | get_data ( ) |
| function string | get_type_name ( ) |
| virtual function bit | is_ok ( ) |
| virtual function bit | last ( ) |
| function int | length ( ) |
| function void | new ( uvm_report_object reporter ) |
| virtual function bit | next ( ) |
| function int | pos ( ) |
| virtual function bit | prev ( ) |
| virtual function void | reset ( ) |
| function void | svt_check_and_load_verbosity ( ) |
| task | wait_for_next ( ) |
| task | wait_for_prev ( ) |
Public Attributes | |
| uvm_report_object | reporter |
|
||||||
Allocate a new instance of the iterator, setting it up to iterate on the same object in the same fashion. This should be used to create a duplicate iterator on the same object, in the 'reset' position. The copy method should be used to get a duplicate iterator setup at the exact same iterator position.
| ||||||
|
|
||||||
Copy the iterator, putting the new iterator at the same position. The default implementation uses the 'get_data' method on the original iterator along with the 'find' method on the new iterator to align the two iterators. As such it could be a costly operation. This may, however, be the only reasonable option for some iterators.
| ||||||
|
|
||
Move the iterator forward (using 'next') or backward (using 'prev') to find the indicated data object. If it moves to the end without finding the data object then the iterator is left in the invalid state.
data - The data to move to.
find_forward - If set to 0 uses prev to find the data object. If set to 1 uses next to find the data object.
Return values - Indicates success (1) or failure (0) of the find. |
|
||||||
Move to the first element in the collection.
| ||||||
|
|
||||||
Access the svt_sequence_item_base object at the current position.
| ||||||
|
|
||
Returns this class' name as a string.
|
|
||||||
Evaluate whether the iterator is positioned on an element.
| ||||||
|
|
||||||
Move to the last element.
| ||||||
|
|
||||
Get the number of elements. The default implementation does a full scan in order to get the overall length. As such it could be a costly operation. This may, however, be the only reasonable option for some iterators.
| ||||
|
|
||
CONSTRUCTOR: Creates a new instance of the svt_sequence_item_base_iter class.
|
|
||||||
Move to the next element.
| ||||||
|
|
||||
Get the current postion within the overall length. The default implementation scans from the start to the current position in order to calculate the position. As such it could be a costly operation. This may, however, be the only reasonable option for some iterators.
| ||||
|
|
||||||
Move to the previous element.
| ||||||
|
|
||||||
Reset the iterator.
| ||||||
|
|
||
Check and load verbosity
|
|
||||
Move to the next element, but only if there is a next element. If no next element exists (e.g., because the iterator is already on the last element) then the iterator will wait here until a new element is placed at the end of the list. The default implementation generates a fatal error as some iterators may not implement this method.
| ||||
|
|
||||
Move to the previous element, but only if there is a previous element. If no previous element exists (e.g., because the iterator is already on the first element) then the iterator will wait here until a new element is placed at the front of the list. The default implementation generates a fatal error as some iterators may not implement this method.
| ||||
|