scala.collection.jcl

trait Buffer

[source: scala/collection/jcl/Buffer.scala]

trait Buffer[A]
extends Ranged[Int, A] with MutableSeq[A] with Collection[A]
A mutable sequence that supports element insertion and update.
Author
Sean McDirmid
Direct Known Subclasses:
Buffer.Range, Buffer.Projection, BufferWrapper

Type Summary
protected final type SortedSelf
Method Summary
override def + (a : A) : Buffer
adds "a" from the collection. Useful for chaining.
override def -= (a : A) : Unit
removes "a" from the collection.
def add (idx : Int, a : A) : Unit
Inserts "a" into this buffer just before the element at index "idx."
def add (a : A) : Boolean
def addAll (idx : Int, that : Iterable[A]) : Unit
Inserts all elements of that into this buffer just before the element at index idx.
final def compare (k0 : Int, k1 : Int) : Int
Indices are compared through subtraction.
override def elements : BufferIterator[Int, A]
The default implementation of a map over mutable iterable collections.
override def firstKey : Int
The first index of a buffer is 0.
override def isEmpty : Boolean
Returns true if length == 0
override def lastKey : Int
The last index of a buffer is its size - 1.
override def projection : Projection[A]
returns a projection that can be used to call non-strict filter, map, and flatMap methods that build projections of the collection.
override def rangeImpl (from : Option[Int], until : Option[Int]) : Buffer[A]
Creates a ranged projection of this collection. Any mutations in the ranged projection will update this collection and vice versa. Note: keys are not garuanteed to be consistent between this collection and the projection. This is the case for buffers where indexing is relative to the projection.
def remove (idx : Int, length : Int) : Unit
Removes N elements from index idx
def remove (idx : Int) : A
Removes the element at index idx
def replace (startOffset : Int, length : Int, added : Iterable[A]) : Unit
def replace (from : Int, length : Int, added : Seq[A]) : Unit
replaces
def set (idx : Int, a : A) : A
Replaces the element at index "idx" with "a."
override def transform (f : (A) => A) : Boolean
Transforms each element of the collection in-place according to f.
def update (idx : Int, a : A) : Unit
Equivalent to set except the replaced element is not returned.
Methods inherited from Collection
hasAll, addAll, ++, +=
Methods inherited from MutableSeq
apply, indexOf, length
Methods inherited from Seq
lengthCompare, size, concat, last, lastOption, headOption, ++, isDefinedAt, lastIndexOf, map, flatMap, filter, take, drop, slice, takeWhile, dropWhile, reverse, contains, subseq, toArray, equalsWith, startsWith, endsWith, indexOf, containsSlice
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
toString, compose
Methods inherited from Ranged
from, until, range
Methods inherited from MutableIterable
has, remove, removeAll, --, -, retain, retainAll, size0, clear
Methods inherited from Collection
stringPrefix
Methods inherited from Iterable
foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, toStream, mkString, mkString, mkString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Class Summary
protected class DefaultBufferIterator extends DefaultSeqIterator with BufferIterator[Int, A]
protected class Range (val from : Option[Int], val until : Option[Int]) extends Buffer[A]
Type Details
protected final type SortedSelf

Method Details
override def projection : Projection[A]
returns a projection that can be used to call non-strict filter, map, and flatMap methods that build projections of the collection.
Overrides
MutableSeq.projection, Collection.projection

override def elements : BufferIterator[Int, A]
The default implementation of a map over mutable iterable collections.
Overrides
MutableSeq.elements

override def firstKey : Int
The first index of a buffer is 0.

override def lastKey : Int
The last index of a buffer is its size - 1.

final def compare(k0 : Int, k1 : Int) : Int
Indices are compared through subtraction.
Overrides
Ranged.compare

def remove(idx : Int) : A
Removes the element at index idx

def remove(idx : Int, length : Int) : Unit
Removes N elements from index idx

def replace(from : Int, length : Int, added : Seq[A]) : Unit
replaces

def set(idx : Int, a : A) : A
Replaces the element at index "idx" with "a."
Returns
s the element replaced.

def update(idx : Int, a : A) : Unit
Equivalent to set except the replaced element is not returned.

def add(a : A) : Boolean
Returns
s always true.
Overrides
Collection.add

def add(idx : Int, a : A) : Unit
Inserts "a" into this buffer just before the element at index "idx."

def addAll(idx : Int, that : Iterable[A]) : Unit
Inserts all elements of that into this buffer just before the element at index idx.
Parameters
idx - ..
that - ..

override def transform(f : (A) => A) : Boolean
Transforms each element of the collection in-place according to f.
Parameters
f -
Returns
true if the collection is actually updated.
Overrides
Collection.transform

override def +(a : A) : Buffer
adds "a" from the collection. Useful for chaining.
Overrides
Collection.+

override def -=(a : A) : Unit
removes "a" from the collection.
Overrides
Collection.-=

override def isEmpty : Boolean
Returns true if length == 0
Overrides
MutableSeq.isEmpty

override def rangeImpl(from : Option[Int], until : Option[Int]) : Buffer[A]
Creates a ranged projection of this collection. Any mutations in the ranged projection will update this collection and vice versa. Note: keys are not garuanteed to be consistent between this collection and the projection. This is the case for buffers where indexing is relative to the projection.
Parameters
from - The lower-bound (inclusive) of the ranged projection. None if there is no lower bound.
until - The upper-bound (exclusive) of the ranged projection. None if there is no upper bound.
Overrides
Ranged.rangeImpl

def replace(startOffset : Int, length : Int, added : Iterable[A]) : Unit