Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1371 → Rev 1372

/branches/livraison_narmer/api/js/dojo/src/collections/Queue.js
New file
0,0 → 1,65
/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
 
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
 
http://dojotoolkit.org/community/licensing.shtml
*/
 
dojo.provide("dojo.collections.Queue");
dojo.require("dojo.collections.Collections");
dojo.collections.Queue = function (arr) {
var q = [];
if (arr) {
q = q.concat(arr);
}
this.count = q.length;
this.clear = function () {
q = [];
this.count = q.length;
};
this.clone = function () {
return new dojo.collections.Queue(q);
};
this.contains = function (o) {
for (var i = 0; i < q.length; i++) {
if (q[i] == o) {
return true;
}
}
return false;
};
this.copyTo = function (arr, i) {
arr.splice(i, 0, q);
};
this.dequeue = function () {
var r = q.shift();
this.count = q.length;
return r;
};
this.enqueue = function (o) {
this.count = q.push(o);
};
this.forEach = function (fn, scope) {
var s = scope || dj_global;
if (Array.forEach) {
Array.forEach(q, fn, s);
} else {
for (var i = 0; i < q.length; i++) {
fn.call(s, q[i], i, q);
}
}
};
this.getIterator = function () {
return new dojo.collections.Iterator(q);
};
this.peek = function () {
return q[0];
};
this.toArray = function () {
return [].concat(q);
};
};