What is the meaning of Base.Order.ForwardOrdering?

In my task, I need to write code to create a mutable struct with name Si, which has an attribute with name eventQueue, which is of type PriorityQueue. After playing with the code, the following works out well.

using DataStructures

mutable struct Evnt
     time::Float64
     Evnt() = new(-1.0)
end

mutable struct Si
     eventQueue::PriorityQueue{Evnt, Float64, Base.Order.ForwardOrdering}
     Si() = new()
end

si1 = Si()
e1=Evnt()
enqueue!(pq, e1,e1.time) 
si1.eventQueue = pq

My question is, is the above code good enough, i.e., is there a better way to accomplish this? Moreover, what is exactly the meaning of “Base.Order.ForwardOrdering” ? Many thanks.

1 Like