class ctools_math_expr_stack
Class implementing a simple stack structure, used by ctools_math_expr.
Hierarchy
 class \ctools_math_expr_stack
Expanded class hierarchy of ctools_math_expr_stack
File

includes/
mathexpr.inc, line 818
View source
class ctools_math_expr_stack {
/**
* The stack.
*
* @var array
*/
private $stack;
/**
* The stack pointer, points at the first empty space.
*
* @var int
*/
private $count;
/**
* Ctools_math_expr_stack constructor.
*/
public function __construct() {
$this>stack = array();
$this>count = 0;
}
/**
* Push the value onto the stack.
*
* @param mixed $val
*/
public function push($val) {
$this>stack[$this>count] = $val;
$this>count++;
}
/**
* Remove the most recently pushed value and return it.
*
* @return mixednull
* The most recently pushed value, or NULL if the stack was empty.
*/
public function pop() {
if ($this>count > 0) {
$this>count;
return $this>stack[$this>count];
}
return NULL;
}
/**
* "Peek" the stack, or Return a value from the stack without removing it.
*
* @param int $n
* Integer indicating which value to return. 1 is the topmost (i.e. the
* value that pop() would return), 2 indicates the next, 3 the third, etc.
*
* @return mixednull
* A value pushed onto the stack at the nth position, or NULL if the stack
* was empty.
*/
public function last($n = 1) {
return !empty($this>stack[$this>count  $n]) ? $this>stack[$this>count  $n] : NULL;
}
/**
* Return the number of items on the stack.
*
* @return int
* The number of items.
*/
public function count() {
return $this>count;
}
}
Members
Title Sort descending  Modifiers  Object type  Summary 

ctools_math_expr_stack::$count  private  property  The stack pointer, points at the first empty space. 
ctools_math_expr_stack::$stack  private  property  The stack. 
ctools_math_expr_stack::count  public  function  Return the number of items on the stack. 
ctools_math_expr_stack::last  public  function  "Peek" the stack, or Return a value from the stack without removing it. 
ctools_math_expr_stack::pop  public  function  Remove the most recently pushed value and return it. 
ctools_math_expr_stack::push  public  function  Push the value onto the stack. 
ctools_math_expr_stack::__construct  public  function  Ctools_math_expr_stack constructor. 