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

Side by Side Diff: corelib/src/list.dart

Issue 8273004: Implement removeRange, and update some documentation on the list interface. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 2 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 [List] is an indexable collection with a length. It can be of 6 * A [List] is an indexable collection with a length. It can be of
7 * fixed size or extendable. 7 * fixed size or extendable.
8 */ 8 */
9 interface List<E> extends Collection<E> factory ListFactory { 9 interface List<E> extends Collection<E> factory ListFactory {
10 10
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 /** 125 /**
126 * Returns the last element of the list, or throws an out of bounds 126 * Returns the last element of the list, or throws an out of bounds
127 * exception if the list is empty. 127 * exception if the list is empty.
128 */ 128 */
129 E last(); 129 E last();
130 130
131 /** 131 /**
132 * Returns a sub list copy of this list, from [start] to 132 * Returns a sub list copy of this list, from [start] to
133 * [:start + length:]. 133 * [:start + length:].
134 * Returns an empty list if [length] is 0. 134 * Returns an empty list if [length] is 0.
135 * Throws an [IllegalArgumentException] if [length] is negative.
135 * Throws an [IndexOutOfRangeException] if [start] or 136 * Throws an [IndexOutOfRangeException] if [start] or
136 * [:start + length:] are out of range. 137 * [:start + length:] are out of range.
137 */ 138 */
138 List<E> getRange(int start, int length); 139 List<E> getRange(int start, int length);
139 140
140 /** 141 /**
141 * Copies [length] elements of the [from] array, starting 142 * Copies [length] elements of the [from] array, starting
142 * from [startFrom], into [:this:], starting at [start]. 143 * from [startFrom], into [:this:], starting at [start].
143 * Throws an [UnsupportedOperationException] if the list is 144 * Throws an [UnsupportedOperationException] if the list is
144 * not extendable. 145 * not extendable.
145 * If [length] is 0, this method does not do anything. 146 * If [length] is 0, this method does not do anything.
147 * Throws an [IllegalArgumentException] if [length] is negative.
146 * Throws an [IndexOutOfRangeException] if [start] or 148 * Throws an [IndexOutOfRangeException] if [start] or
147 * [:start + length:] are out of range for [:this:], or if 149 * [:start + length:] are out of range for [:this:], or if
148 * [startFrom] is out of range for [from]. 150 * [startFrom] is out of range for [from].
149 */ 151 */
150 void setRange(int start, int length, List<E> from, [int startFrom]); 152 void setRange(int start, int length, List<E> from, [int startFrom]);
151 153
152 /** 154 /**
153 * Removes the range in the list starting from [start] to 155 * Removes the range in the list starting from [start] to
154 * [:start + length:]. 156 * [:start + length:].
155 * Throws an [UnsupportedOperationException] if the list is 157 * Throws an [UnsupportedOperationException] if the list is
156 * not extendable. 158 * not extendable.
157 * If [length] is 0, this method does not do anything. 159 * If [length] is 0, this method does not do anything.
160 * Throws an [IllegalArgumentException] if [length] is negative.
158 * Throws an [IndexOutOfRangeException] if [start] or 161 * Throws an [IndexOutOfRangeException] if [start] or
159 * [:start + length:] are out of range. 162 * [:start + length:] are out of range.
160 */ 163 */
161 void removeRange(int start, int length); 164 void removeRange(int start, int length);
162 165
163 /** 166 /**
164 * Inserts a new range in the list, starting from [start] to 167 * Inserts a new range in the list, starting from [start] to
165 * [:start + length:]. The entries are filled with [initialValue]. 168 * [:start + length:]. The entries are filled with [initialValue].
166 * Throws an [UnsupportedOperationException] if the list is 169 * Throws an [UnsupportedOperationException] if the list is
167 * not extendable. 170 * not extendable.
168 * If [length] is 0, this method does not do anything. 171 * If [length] is 0, this method does not do anything.
172 * Throws an [IllegalArgumentException] if [length] is negative.
169 * Throws an [IndexOutOfRangeException] if [start] or 173 * Throws an [IndexOutOfRangeException] if [start] or
170 * [:start + length:] are out of range. 174 * [:start + length:] are out of range.
171 */ 175 */
172 void insertRange(int start, int length, [E initialValue]); 176 void insertRange(int start, int length, [E initialValue]);
173 } 177 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698