Stack
Object Hierarchy:
Description:
public class Stack<T> : Object
A LIFO (Last-In-First-Out) stack backed by a GLib.Queue.
Inspired by Java's Stack and Go's slice-based stack pattern.
Example:
var stack = new Stack<string> ();
stack.push ("a");
stack.push ("b");
assert (stack.peek () == "b");
assert (stack.pop () == "b");
assert (stack.pop () == "a");
Content:
Creation methods:
- public Stack ()
Creates an empty Stack.
Methods:
- public void clear ()
Removes all elements from the stack.
- public bool isEmpty ()
Returns whether the stack is empty.
- public T peek ()
Returns the element at the top of the stack without removing it.
Returns null if the stack is empty.
- public T pop ()
Removes and returns the element at the top of the stack. Returns null
if the stack is empty.
- public void push (owned T element)
Pushes an element onto the top of the stack.
- public uint size ()
Returns the number of elements in the stack.
Inherited Members:
All known members inherited from class GLib.Object
- @get
- @new
- @ref
- @set
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating
- freeze_notify
- get_class
- get_data
- get_property
- get_qdata
- get_type
- getv
- interface_find_property
- interface_install_property
- interface_list_properties
- is_floating
- new_valist
- new_with_properties
- newv
- notify
- notify_property
- ref_count
- ref_sink
- remove_toggle_ref
- remove_weak_pointer
- replace_data
- replace_qdata
- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref