Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Side by Side Diff: lib/core/queue.dart

Issue 10950006: Convert most interfaces in dart:core to abstract classes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * A [Queue] is a collection that can be manipulated at both ends. One 6 * A [Queue] is a collection that can be manipulated at both ends. One
7 * can iterate over the elements of a queue through [forEach] or with 7 * can iterate over the elements of a queue through [forEach] or with
8 * an [Iterator]. 8 * an [Iterator].
9 */ 9 */
10 interface Queue<E> extends Collection<E> default DoubleLinkedQueue<E> { 10 abstract class Queue<E> extends Collection<E> {
11 11
12 /** 12 /**
13 * Creates a queue. 13 * Creates a queue.
14 */ 14 */
15 Queue(); 15 factory Queue() => new DoubleLinkedQueue<E>();
16 16
17 /** 17 /**
18 * Creates a queue with the elements of [other]. The order in 18 * Creates a queue with the elements of [other]. The order in
19 * the queue will be the order provided by the iterator of [other]. 19 * the queue will be the order provided by the iterator of [other].
20 */ 20 */
21 Queue.from(Iterable<E> other); 21 factory Queue.from(Iterable<E> other) => new DoubleLinkedQueue<E>.from(other);
22 22
23 /** 23 /**
24 * Removes and returns the first element of this queue. Throws an 24 * Removes and returns the first element of this queue. Throws an
25 * [EmptyQueueException] exception if this queue is empty. 25 * [EmptyQueueException] exception if this queue is empty.
26 */ 26 */
27 E removeFirst(); 27 E removeFirst();
28 28
29 /** 29 /**
30 * Removes and returns the last element of the queue. Throws an 30 * Removes and returns the last element of the queue. Throws an
31 * [EmptyQueueException] exception if this queue is empty. 31 * [EmptyQueueException] exception if this queue is empty.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 * Returns the last element of the queue. Throws an 63 * Returns the last element of the queue. Throws an
64 * [EmptyQueueException] exception if this queue is empty. 64 * [EmptyQueueException] exception if this queue is empty.
65 */ 65 */
66 E last(); 66 E last();
67 67
68 /** 68 /**
69 * Removes all elements in the queue. The size of the queue becomes zero. 69 * Removes all elements in the queue. The size of the queue becomes zero.
70 */ 70 */
71 void clear(); 71 void clear();
72 } 72 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698