Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojox.collections.Stack"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.collections.Stack"] = true;dojo.provide("dojox.collections.Stack");dojo.require("dojox.collections._base");dojox.collections.Stack=function(/* array? */arr){// summary// returns an object of type dojox.collections.Stackvar q=[];if (arr) q=q.concat(arr);this.count=q.length;this.clear=function(){// summary// Clear the internal array and reset the countq=[];this.count=q.length;};this.clone=function(){// summary// Create and return a clone of this Stackreturn new dojox.collections.Stack(q);};this.contains=function(/* object */o){// summary// check to see if the stack contains object ofor (var i=0; i<q.length; i++){if (q[i] == o){return true; // bool}}return false; // bool};this.copyTo=function(/* array */ arr, /* int */ i){// summary// copy the stack into array arr at index iarr.splice(i,0,q);};this.forEach=function(/* function */ fn, /* object? */ scope){// summary// functional iterator, following the mozilla spec.dojo.forEach(q, fn, scope);};this.getIterator=function(){// summary// get an iterator for this collectionreturn new dojox.collections.Iterator(q); // dojox.collections.Iterator};this.peek=function(){// summary// Return the next item without altering the stack itself.return q[(q.length-1)]; // object};this.pop=function(){// summary// pop and return the next item on the stackvar r=q.pop();this.count=q.length;return r; // object};this.push=function(/* object */ o){// summary// Push object o onto the stackthis.count=q.push(o);};this.toArray=function(){// summary// create and return an array based on the internal collectionreturn [].concat(q); // array};}}