OpenTTD GameScript API 20241220-master-g59680867c3
Public Member Functions
GSPriorityQueue Class Reference

Class that creates a queue which keeps its items ordered by an item priority. More...

#include <script_priorityqueue.hpp>

Inheritance diagram for GSPriorityQueue:

Public Member Functions

bool Insert (object item, int priority)
 Add a single item to the queue.
 
object Pop ()
 Remove and return the item with the lowest priority.
 
object Peek ()
 Get the item with the lowest priority, keeping it in the queue.
 
bool Exists (object item)
 Check if an items is already included in the queue.
 
void Clear ()
 Clear the queue, making Count() returning 0 and IsEmpty() returning true.
 
bool IsEmpty ()
 Check if the queue is empty.
 
int Count ()
 Returns the amount of items in the queue.
 

Detailed Description

Class that creates a queue which keeps its items ordered by an item priority.

Member Function Documentation

◆ Count()

int GSPriorityQueue::Count ( )

Returns the amount of items in the queue.

Returns
amount of items in the queue.

◆ Exists()

bool GSPriorityQueue::Exists ( object  item)

Check if an items is already included in the queue.

Parameters
itemThe item to check whether it's already in this queue.
Returns
true if the items is already in the queue.
Note
Performance is O(n), use only when absolutely required.

◆ Insert()

bool GSPriorityQueue::Insert ( object  item,
int  priority 
)

Add a single item to the queue.

Parameters
itemThe item to add. Can be any Squirrel type. Should be unique, otherwise it is ignored.
priorityThe priority to assign the item.
Returns
True if the item was inserted, false if it was already in the queue.

◆ IsEmpty()

bool GSPriorityQueue::IsEmpty ( )

Check if the queue is empty.

Returns
true if the queue is empty.

◆ Peek()

object GSPriorityQueue::Peek ( )

Get the item with the lowest priority, keeping it in the queue.

Returns
The item with the lowest priority. Returns null on an empty queue.
Precondition
!IsEmpty()

◆ Pop()

object GSPriorityQueue::Pop ( )

Remove and return the item with the lowest priority.

Returns
The item with the lowest priority, removed from the queue. Returns null on an empty queue.
Precondition
!IsEmpty()