# uvm_process_guard_base

Non-parameterized base class for uvm_process_guard#(T).

@uvm-contrib This API is being considered for potential contribution to 1800.2

Summary

uvm_process_guard_base
Non-parameterized base class for uvm_process_guard#(T).
Class Hierarchy
uvm_object
uvm_process_guard_base
Class Declaration
> virtual class uvm_process_guard_base extends uvm_object
new | Constructor.
clear | Clears the currently guarded process if it has not yet terminated.
Process Guard Status |
get_process | Returns the currently guarded process, or null if the guard has been cleared.
is_terminated | Returns true if the guarded process terminated prior to being cleared; otherwise, returns false.
Hook |
do_trigger | Hook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.

### new

> function new(
> | string | name
> )

Constructor.

The constructor initializes a new process guard with name and sets the guarded process to `process::self()`.

@uvm-contrib This API is being considered for potential contribution to 1800.2

### clear

> function process clear()

Clears the currently guarded process if it has not yet terminated.

If the guarded process has not been terminated, then clear shall return it; otherwise returns `null`.

@uvm-contrib This API is being considered for potential contribution to 1800.2

### Process Guard Status

### get_process

> function process get_process()

Returns the currently guarded process, or null if the guard has been cleared.

@uvm-contrib This API is being considered for potential contribution to 1800.2

### is_terminated

> function bit is_terminated()

Returns true if the guarded process terminated prior to being cleared; otherwise, returns false.

@uvm-contrib This API is being considered for potential contribution to 1800.2

### Hook

### do_trigger

> pure virtual function void do_trigger()

Hook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.

@uvm-contrib This API is being considered for potential contribution to 1800.2

> virtual class uvm_process_guard_base extends uvm_object

Non-parameterized base class for uvm_process_guard#(T).

> class uvm_process_guard#(
> | type | T | = | int
> ) extends uvm_process_guard_base

Ensures that processes are not killed in unexpected ways.

> function new(
> | string | name
> )

Constructor.

> function process clear()

Clears the currently guarded process if it has not yet terminated.

> function process get_process()

Returns the currently guarded process, or null if the guard has been cleared.

> function bit is_terminated()

Returns true if the guarded process terminated prior to being cleared; otherwise, returns false.

> pure virtual function void do_trigger()

Hook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.