Uvm_algorithmic_camparator Use case

Hi,
Hope you’re good!
What is the use of uvm_algorithmic_camparator? I saw library code and found the scoreboarding logic inside the task. But, I didn’t see any one using this??

So, why people always creating their own scoreboard instead of pre-built scoreboards class like, algorithmic_comparator or inorder_comparator.

Thanks.

In reply to m_v:

It is available only in UVM.1.1d but not in UVM-1.2.
This is what the Reference Manual says:Compares two streams of data objects of different types, BEFORE and AFTER.

The algorithmic comparator is a wrapper around uvm_in_order_class_comparator #(T). Like the in-order comparator, the algorithmic comparator compares two streams of transactions, the BEFORE stream and the AFTER stream. It is often the case when two streams of transactions need to be compared that the two streams are in different forms. That is, the type of the BEFORE transaction stream is different than the type of the AFTER transaction stream.