Uvm_object: pure methods?

The class reference says:

Classes deriving from uvm_object must implement the pure
virtual methods such as create and get_type_name.

But in the code, nor in the LRM I see any “pure” keyword being used?

So I am confused whether or not uvm_object has some pure methods?

In reply to NiLu:

Having pure methods would be mean the class can’t be instantiated directly. It’s for sure not the only case where the class reference diverges from the code. The implementers probably decided later on that they did want uvm_object to be directly instantiated.

If you do not see the pure keyword in the LRM, you must have an old copy of the LRM. Please get a new copy.

The pure keyword was added to IEEE 1800 standard, but not all simulators had implemented at the time the OVM was released. So the OVM/UVM code has run-time error messages instead if you do not implement these methods in your extended class.

In reply to dave_59:

I was actually referring to the UVM lrm not having the pure keyword for for example the create method.

But I think I see what you mean, the methods are not strictly pure from a sv language perspective but they are pure from a uvm perspective.

Thanks!