diff options
Diffstat (limited to 'includes/js/dojox/collections/Queue.js')
-rw-r--r-- | includes/js/dojox/collections/Queue.js | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/includes/js/dojox/collections/Queue.js b/includes/js/dojox/collections/Queue.js new file mode 100644 index 0000000..5fa4a5d --- /dev/null +++ b/includes/js/dojox/collections/Queue.js @@ -0,0 +1,74 @@ +if(!dojo._hasResource["dojox.collections.Queue"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["dojox.collections.Queue"] = true; +dojo.provide("dojox.collections.Queue"); +dojo.require("dojox.collections._base"); + +dojox.collections.Queue=function(/* array? */arr){ + // summary + // return an object of type dojox.collections.Queue + var q=[]; + if (arr){ + q=q.concat(arr); + } + this.count=q.length; + this.clear=function(){ + // summary + // clears the internal collection + q=[]; + this.count=q.length; + }; + this.clone=function(){ + // summary + // creates a new Queue based on this one + return new dojox.collections.Queue(q); // dojox.collections.Queue + }; + this.contains=function(/* object */ o){ + // summary + // Check to see if the passed object is an element in this queue + for(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 contents of this queue into the passed array at index i. + arr.splice(i,0,q); + }; + this.dequeue=function(){ + // summary + // shift the first element off the queue and return it + var r=q.shift(); + this.count=q.length; + return r; // object + }; + this.enqueue=function(/* object */ o){ + // summary + // put the passed object at the end of the queue + this.count=q.push(o); + }; + 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 based on this queue. + return new dojox.collections.Iterator(q); // dojox.collections.Iterator + }; + this.peek=function(){ + // summary + // get the next element in the queue without altering the queue. + return q[0]; + }; + this.toArray=function(){ + // summary + // return an array based on the internal array of the queue. + return [].concat(q); + }; +}; + +} |