In reply to Have_A_Doubt:
This particular feature of a cross is a late addition to SystemVerilog and not widely supported. You may want to discuss with your tool vendor directly.
CrossValType and CrossQueueType are typedefs local to the cross that help user define functions that are also local to the cross instead of manually writing the literal patterns as in your example.