Verse Library verse

01 Snippet

Reusable first-in-first-out queue structure for managing ordered data sequences.

extracted-snippets/community/snippets/rmpp/fortnite-generic-queue-implementation/01-snippet.verse

# Source URL: https://dev.epicgames.com/community/snippets/rmpp/fortnite-generic-queue-implementation
# Local doc:  epic-docs/community/snippets/rmpp/fortnite-generic-queue-implementation.md
  queue<public>(t:type) := class:
  Elements<internal>:[]t = array{}
  Enqueue<public>(NewElement:t):queue(t)=
  queue(t){Elements := Elements + array{NewElement}}
  Dequeue<public>()<decides><transacts>:tuple(queue(t),t)=
  FirstElement := Front[]
  (queue(t){Elements := Elements.RemoveElement[0]}, FirstElement)
  Size<public>()<transacts>:int=
  Elements.Length
  IsEmpty<public>()<decides><transacts>:void=
  Size() = 0
  Front<public>()<decides><transacts>:t=
  Elements[0]
  Rear<public>()<decides><transacts>:t=
  Elements[Elements.Length - 1]
  CreateQueue<public><constructor>(InitialElements:[]t where t:type) := queue(t):
  Elements := InitialElements

  Expand code  Copy full snippet(24 lines long)
* ```
  list(t:type) := class:
      Data:t
      Next:?list(t)
  
  queue<public>(t:type) := class<internal>:
      Elements<internal>:?list(t) = false
      Size<public>:int = 0

Sign in free to read the full source 🌴

This Verse Library file is members-only. Create a free account to view the complete source and download the .verse file.

Sign in with Discord

Comments

    Sign in to vote, comment, or suggest an edit. Sign in