protocol MutableSliceable
Inheritance |
CollectionType, Indexable, MutableCollectionType, MutableIndexable, SequenceType
View Protocol Hierarchy →
|
---|---|
Associated Types |
Generator : GeneratorType = IndexingGenerator<Self>
A type that provides the sequence's iteration interface and encapsulates its iteration state. By default, a SubSequence : Indexable, SequenceType = Slice<Self>
A Note: This associated type appears as a requirement in
|
Import | import Swift |
Instance Variables
Returns the number of elements.
Complexity: O(1) if Index
conforms to RandomAccessIndexType
;
O(N) otherwise.
Declaration
var count: Self.Index.Distance { get }
Declared In
CollectionType
Returns the first element of self
, or nil
if self
is empty.
Declaration
var first: Self.Generator.Element? { get }
Declared In
CollectionType
The collection's "past the end" position.
endIndex
is not a valid argument to subscript
, and is always
reachable from startIndex
by zero or more applications of
successor()
.
Complexity: O(1)
Declaration
var endIndex: Self.Index { get }
Declared In
Indexable
, MutableIndexable
The position of the first element in a non-empty collection.
In an empty collection, startIndex == endIndex
.
Complexity: O(1)
Declaration
var startIndex: Self.Index { get }
Declared In
Indexable
, MutableIndexable
Subscripts
Declaration
subscript(_: Range<Self.Index>) -> Self.SubSequence { get set }
Declared In
MutableSliceable
, CollectionType
, MutableCollectionType
Returns the element at the given position
.
Declaration
subscript(position: Self.Index) -> Self.Generator.Element { get }
Declared In
CollectionType
, Indexable
, MutableCollectionType
, MutableIndexable
Instance Methods
Returns a subsequence containing all but the first n
elements.
Requires: n >= 0
Complexity: O(n
)
Declaration
func dropFirst(n: Int) -> Self.SubSequence
Declared In
SequenceType
Returns a subsequence containing all but the last n
elements.
Requires: self
is a finite sequence.
Requires: n >= 0
Complexity: O(self.count
)
Declaration
func dropLast(n: Int) -> Self.SubSequence
Declared In
SequenceType
Returns an Array
containing the elements of self
,
in order, that satisfy the predicate includeElement
.
Declaration
func filter(@noescape includeElement: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.Generator.Element]
Declared In
SequenceType
Call body
on each element in self
in the same order as a
for-in loop.
sequence.forEach {
// body code
}
is similar to:
for element in sequence {
// body code
}
Note: You cannot use the break
or continue
statement to exit the
current call of the body
closure or skip subsequent calls.
Note: Using the return
statement in the body
closure will only
exit from the current call to body
, not any outer scope, and won't
skip subsequent calls.
Complexity: O(self.count
)
Declaration
func forEach(@noescape body: (Self.Generator.Element) throws -> Void) rethrows
Declared In
SequenceType
Returns an Array
containing the results of mapping transform
over self
.
Complexity: O(N).
Declaration
func map<T>(@noescape transform: (Self.Generator.Element) throws -> T) rethrows -> [T]
Declared In
SequenceType
Returns a subsequence, up to maxLength
in length, containing the
initial elements.
If maxLength
exceeds self.count
, the result contains all
the elements of self
.
Requires: maxLength >= 0
Declaration
func prefix(maxLength: Int) -> Self.SubSequence
Declared In
SequenceType
Returns prefixUpTo(position.successor())
Complexity: O(1)
Declaration
func prefixThrough(position: Self.Index) -> Self.SubSequence
Declared In
CollectionType
Returns self[startIndex..<end]
Complexity: O(1)
Declaration
func prefixUpTo(end: Self.Index) -> Self.SubSequence
Declared In
CollectionType
Returns the maximal SubSequence
s of self
, in order, that
don't contain elements satisfying the predicate isSeparator
.
maxSplit
: The maximum number of SubSequence
s to
return, minus 1.
If maxSplit + 1
SubSequence
s are returned, the last one is
a suffix of self
containing the remaining elements.
The default value is Int.max
.
allowEmptySubsequences
: If true
, an empty SubSequence
is produced in the result for each pair of consecutive elements
satisfying isSeparator
.
The default value is false
.
Requires: maxSplit >= 0
Declaration
func split(maxSplit: Int, allowEmptySlices: Bool, @noescape isSeparator: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.SubSequence]
Declared In
SequenceType
Returns a slice, up to maxLength
in length, containing the
final elements of s
.
If maxLength
exceeds s.count
, the result contains all
the elements of s
.
Requires: self
is a finite sequence.
Requires: maxLength >= 0
Declaration
func suffix(maxLength: Int) -> Self.SubSequence
Declared In
SequenceType
Returns self[start..<endIndex]
Complexity: O(1)
Declaration
func suffixFrom(start: Self.Index) -> Self.SubSequence
Declared In
CollectionType
Returns a value less than or equal to the number of elements in
self
, nondestructively.
Complexity: O(N).
Declaration
func underestimateCount() -> Int
Declared In
SequenceType
Default Implementations
Returns the number of elements.
Complexity: O(1) if Index
conforms to RandomAccessIndexType
;
O(N) otherwise.
Declaration
var count: Self.Index.Distance { get }
Declared In
MutableCollectionType
, CollectionType
Returns the first element of self
, or nil
if self
is empty.
Complexity: O(1)
Declaration
var first: Self.Generator.Element? { get }
Declared In
MutableCollectionType
, CollectionType
Returns the range of valid index values.
The result's endIndex
is the same as that of self
. Because
Range
is half-open, iterating the values of the result produces
all valid subscript arguments for self
, omitting its endIndex
.
Declaration
var indices: Range<Self.Index> { get }
Declared In
MutableCollectionType
, CollectionType
Returns true
iff self
is empty.
Complexity: O(1)
Declaration
var isEmpty: Bool { get }
Declared In
MutableCollectionType
, CollectionType
A collection with contents identical to self
, but on which
normally-eager operations such as map
and filter
are
implemented lazily.
See Also: LazySequenceType
, LazyCollectionType
.
Declaration
var lazy: LazyCollection<Self> { get }
Declared In
MutableCollectionType
, CollectionType
Returns a collection representing a contiguous sub-range of
self
's elements.
Complexity: O(1) for the getter, O(bounds.count
) for the setter.
Declaration
subscript(bounds: Range<Self.Index>) -> MutableSlice<Self>
Declared In
MutableCollectionType
Returns true
iff an element in self
satisfies predicate
.
Declaration
func contains(@noescape predicate: (Self.Generator.Element) throws -> Bool) rethrows -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence containing all but the first element.
Complexity: O(1)
Declaration
func dropFirst() -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence containing all but the first n
elements.
Requires: n >= 0
Complexity: O(n
)
Declaration
func dropFirst(n: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns a subsequence containing all but the last element.
Requires: self
is a finite sequence.
Complexity: O(self.count
)
Declaration
func dropLast() -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence containing all but the last n
elements.
Requires: n >= 0
Complexity: O(self.count
)
Declaration
func dropLast(n: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns true
iff self
and other
contain equivalent elements, using
isEquivalent
as the equivalence test.
Requires: isEquivalent
is an
equivalence relation.
Declaration
func elementsEqual<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isEquivalent: (Self.Generator.Element, Self.Generator.Element) throws -> Bool) rethrows -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a lazy SequenceType
containing pairs (n, x), where
ns are consecutive Int
s starting at zero, and xs are
the elements of base
:
> for (n, c) in "Swift".characters.enumerate() {
print("\(n): '\(c)'")
}
0: 'S'
1: 'w'
2: 'i'
3: 'f'
4: 't'
Declaration
func enumerate() -> EnumerateSequence<Self>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the elements of self
,
in order, that satisfy the predicate includeElement
.
Declaration
func filter(@noescape includeElement: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.Generator.Element]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the non-nil results of mapping
transform
over self
.
Complexity: O(M + N), where M is the length of self
and N is the length of the result.
Declaration
func flatMap<T>(@noescape transform: (Self.Generator.Element) throws -> T?) rethrows -> [T]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the concatenated results of mapping
transform
over self
.
s.flatMap(transform)
is equivalent to
Array(s.map(transform).flatten())
Complexity: O(M + N), where M is the length of self
and N is the length of the result.
Declaration
func flatMap<S : SequenceType>(transform: (Self.Generator.Element) throws -> S) rethrows -> [S.Generator.Element]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Call body
on each element in self
in the same order as a
for-in loop.
sequence.forEach {
// body code
}
is similar to:
for element in sequence {
// body code
}
Note: You cannot use the break
or continue
statement to exit the
current call of the body
closure or skip subsequent calls.
Note: Using the return
statement in the body
closure will only
exit from the current call to body
, not any outer scope, and won't
skip subsequent calls.
Complexity: O(self.count
)
Declaration
func forEach(@noescape body: (Self.Generator.Element) throws -> Void) rethrows
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the first index where predicate
returns true
for the
corresponding value, or nil
if such value is not found.
Complexity: O(self.count
).
Declaration
func indexOf(@noescape predicate: (Self.Generator.Element) throws -> Bool) rethrows -> Self.Index?
Declared In
MutableCollectionType
, CollectionType
Returns true
iff self
precedes other
in a lexicographical
("dictionary") ordering, using isOrderedBefore
as the comparison
between elements.
Note: This method implements the mathematical notion of lexicographical
ordering, which has no connection to Unicode. If you are sorting strings
to present to the end-user, you should use String
APIs that perform
localized comparison.
Requires: isOrderedBefore
is a
strict weak ordering
over the elements of self
and other
.
Declaration
func lexicographicalCompare<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) throws -> Bool) rethrows -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the results of mapping transform
over self
.
Complexity: O(N).
Declaration
func map<T>(@noescape transform: (Self.Generator.Element) throws -> T) rethrows -> [T]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the maximum element in self
or nil
if the sequence is empty.
Complexity: O(elements.count
).
Requires: isOrderedBefore
is a
strict weak ordering
over self
.
Declaration
func maxElement(@noescape isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) throws -> Bool) rethrows -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the minimum element in self
or nil
if the sequence is empty.
Complexity: O(elements.count
).
Requires: isOrderedBefore
is a
strict weak ordering
over self
.
Declaration
func minElement(@noescape isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) throws -> Bool) rethrows -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence, up to maxLength
in length, containing the
initial elements.
If maxLength
exceeds self.count
, the result contains all
the elements of self
.
Requires: maxLength >= 0
Complexity: O(maxLength
)
Declaration
func prefix(maxLength: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns prefixUpTo(position.successor())
Complexity: O(1)
Declaration
func prefixThrough(position: Self.Index) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns self[startIndex..<end]
Complexity: O(1)
Declaration
func prefixUpTo(end: Self.Index) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns the result of repeatedly calling combine
with an
accumulated value initialized to initial
and each element of
self
, in turn, i.e. return
combine(combine(...combine(combine(initial, self[0]),
self[1]),...self[count-2]), self[count-1])
.
Declaration
func reduce<T>(initial: T, @noescape combine: (T, Self.Generator.Element) throws -> T) rethrows -> T
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the elements of self
in reverse
order.
Complexity: O(N), where N is the length of self
.
Declaration
func reverse() -> [Self.Generator.Element]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the sorted elements of source
according to isOrderedBefore
.
The sorting algorithm is not stable (can change the relative order of
elements for which isOrderedBefore
does not establish an order).
Requires: isOrderedBefore
is a
strict weak ordering
over the elements in self
.
Declaration
func sort(@noescape isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) -> Bool) -> [Self.Generator.Element]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the maximal SubSequence
s of self
, in order, that
don't contain elements satisfying the predicate isSeparator
.
maxSplit
: The maximum number of SubSequence
s to
return, minus 1.
If maxSplit + 1
SubSequence
s are returned, the last one is
a suffix of self
containing the remaining elements.
The default value is Int.max
.
allowEmptySubsequences
: If true
, an empty SubSequence
is produced in the result for each pair of consecutive elements
satisfying isSeparator
.
The default value is false
.
Requires: maxSplit >= 0
Declaration
func split(maxSplit: Int = default, allowEmptySlices: Bool = default, @noescape isSeparator: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.SubSequence]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns true
iff self
begins with elements equivalent to those of
other
, using isEquivalent
as the equivalence test. Returns true
if
other
is empty.
Requires: isEquivalent
is an
equivalence relation.
Declaration
func startsWith<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isEquivalent: (Self.Generator.Element, Self.Generator.Element) throws -> Bool) rethrows -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a slice, up to maxLength
in length, containing the
final elements of s
.
If maxLength
exceeds s.count
, the result contains all
the elements of s
.
Requires: maxLength >= 0
Complexity: O(self.count
)
Declaration
func suffix(maxLength: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns self[start..<endIndex]
Complexity: O(1)
Declaration
func suffixFrom(start: Self.Index) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns a value less than or equal to the number of elements in
self
, nondestructively.
Complexity: O(N).
Declaration
func underestimateCount() -> Int
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Generator == IndexingGenerator
Declaration
func generate() -> IndexingGenerator<Self>
Declared In
MutableCollectionType
, CollectionType
Where Generator == Self, Self : GeneratorType
Returns a generator over the elements of this sequence.
Complexity: O(1).
Declaration
func generate() -> Self
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Generator.Element : CollectionType
A concatenation of the elements of self
.
Declaration
func flatten() -> FlattenCollection<Self>
Declared In
MutableCollectionType
, CollectionType
Where Generator.Element : CollectionType, Index : BidirectionalIndexType, Generator.Element.Index : BidirectionalIndexType
A concatenation of the elements of self
.
Declaration
func flatten() -> FlattenBidirectionalCollection<Self>
Declared In
MutableCollectionType
, CollectionType
Where Generator.Element : Comparable
Returns true
iff self
precedes other
in a lexicographical
("dictionary") ordering, using "<" as the comparison between elements.
Note: This method implements the mathematical notion of lexicographical
ordering, which has no connection to Unicode. If you are sorting strings
to present to the end-user, you should use String
APIs that perform
localized comparison.
Declaration
func lexicographicalCompare<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the maximum element in self
or nil
if the sequence is empty.
Complexity: O(elements.count
).
Declaration
func maxElement() -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the minimum element in self
or nil
if the sequence is empty.
Complexity: O(elements.count
).
Declaration
func minElement() -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns an Array
containing the sorted elements of source
.
The sorting algorithm is not stable (can change the relative order of elements that compare equal).
Requires: The less-than operator (func <
) defined in
the Comparable
conformance is a
strict weak ordering
over the elements in self
.
Declaration
func sort() -> [Self.Generator.Element]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Generator.Element : Equatable
Returns true
iff element
is in self
.
Declaration
func contains(element: Self.Generator.Element) -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns true
iff self
and other
contain the same elements in the
same order.
Declaration
func elementsEqual<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns the first index where value
appears in self
or nil
if
value
is not found.
Complexity: O(self.count
).
Declaration
func indexOf(element: Self.Generator.Element) -> Self.Index?
Declared In
MutableCollectionType
, CollectionType
Returns the maximal SubSequence
s of self
, in order, around a
separator
element.
maxSplit
: The maximum number of SubSequence
s to
return, minus 1.
If maxSplit + 1
SubSequence
s are returned, the last one is
a suffix of self
containing the remaining elements.
The default value is Int.max
.
allowEmptySubsequences
: If true
, an empty SubSequence
is produced in the result for each pair of consecutive elements
satisfying isSeparator
.
The default value is false
.
Requires: maxSplit >= 0
Declaration
func split(separator: Self.Generator.Element, maxSplit: Int = default, allowEmptySlices: Bool = default) -> [Self.SubSequence]
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns true
iff the initial elements of self
are equal to prefix
.
Returns true
if other
is empty.
Declaration
func startsWith<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Generator.Element : SequenceType
A concatenation of the elements of self
.
Declaration
func flatten() -> FlattenSequence<Self>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a view, whose elements are the result of interposing a given
separator
between the elements of the sequence self
.
For example,
[[1, 2, 3], [4, 5, 6], [7, 8, 9]].joinWithSeparator([-1, -2])
yields [1, 2, 3, -1, -2, 4, 5, 6, -1, -2, 7, 8, 9]
.
Declaration
func joinWithSeparator<Separator : SequenceType where Separator.Generator.Element == Generator.Element.Generator.Element>(separator: Separator) -> JoinSequence<Self>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Generator.Element == String
Interpose the separator
between elements of self
, then concatenate
the result. For example:
["foo", "bar", "baz"].joinWithSeparator("-|-") // "foo-|-bar-|-baz"
Declaration
func joinWithSeparator(separator: String) -> String
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where Index : BidirectionalIndexType
Declaration
var last: Self.Generator.Element? { get }
Declared In
MutableCollectionType
, CollectionType
Returns a subsequence containing all but the last n
elements.
Requires: n >= 0
Complexity: O(n
)
Declaration
func dropLast(n: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Returns the elements of self
in reverse order.
Complexity: O(1)
Declaration
func reverse() -> ReverseCollection<Self>
Declared In
MutableCollectionType
, CollectionType
Returns a slice, up to maxLength
in length, containing the
final elements of s
.
If maxLength
exceeds s.count
, the result contains all
the elements of s
.
Requires: maxLength >= 0
Complexity: O(maxLength
)
Declaration
func suffix(maxLength: Int) -> Self.SubSequence
Declared In
MutableCollectionType
, CollectionType
Where Index : RandomAccessIndexType
Re-order the given range
of elements in self
and return
a pivot index p.
Postcondition: For all i in range.startIndex..<
p, and j
in p..<range.endIndex
, less(self[
i],
self[
j]) && !less(self[
j], self[
p])
.
Only returns range.endIndex
when self
is empty.
Requires: isOrderedBefore
is a
strict weak ordering
over the elements in self
.
Declaration
mutating func partition(range: Range<Self.Index>, isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) -> Bool) -> Self.Index
Declared In
MutableCollectionType
Returns the elements of self
in reverse order.
Complexity: O(1)
Declaration
func reverse() -> ReverseRandomAccessCollection<Self>
Declared In
MutableCollectionType
, CollectionType
Sort self
in-place according to isOrderedBefore
.
The sorting algorithm is not stable (can change the relative order of
elements for which isOrderedBefore
does not establish an order).
Requires: isOrderedBefore
is a
strict weak ordering
over the elements in self
.
Declaration
mutating func sortInPlace(@noescape isOrderedBefore: (Self.Generator.Element, Self.Generator.Element) -> Bool)
Declared In
MutableCollectionType
Where Index : RandomAccessIndexType, Generator.Element : Comparable
Re-order the given range
of elements in self
and return
a pivot index p.
Postcondition: For all i in range.startIndex..<
p, and j
in p..<range.endIndex
, less(self[
i],
self[
j]) && !less(self[
j], self[
p])
.
Only returns range.endIndex
when self
is empty.
Requires: The less-than operator (func <
) defined in
the Comparable
conformance is a
strict weak ordering
over the elements in self
.
Declaration
mutating func partition(range: Range<Self.Index>) -> Self.Index
Declared In
MutableCollectionType
Sort self
in-place.
The sorting algorithm is not stable (can change the relative order of elements that compare equal).
Requires: The less-than operator (func <
) defined in
the Comparable
conformance is a
strict weak ordering
over the elements in self
.
Declaration
mutating func sortInPlace()
Declared In
MutableCollectionType
Where SubSequence : SequenceType, SubSequence.Generator.Element == Generator.Element, SubSequence.SubSequence == SubSequence
Returns a subsequence containing all but the first n
elements.
Requires: n >= 0
Complexity: O(n
)
Declaration
func dropFirst(n: Int) -> AnySequence<Self.Generator.Element>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence containing all but the last n
elements.
Requires: self
is a finite collection.
Requires: n >= 0
Complexity: O(self.count
)
Declaration
func dropLast(n: Int) -> AnySequence<Self.Generator.Element>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Returns a subsequence, up to maxLength
in length, containing the
initial elements.
If maxLength
exceeds self.count
, the result contains all
the elements of self
.
Requires: maxLength >= 0
Declaration
func prefix(maxLength: Int) -> AnySequence<Self.Generator.Element>
Declared In
MutableCollectionType
, CollectionType
, SequenceType
Where SubSequence == Self
If !self.isEmpty
, remove the first element and return it, otherwise
return nil
.
Complexity: O(1)
Declaration
mutating func popFirst() -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
If !self.isEmpty
, remove the last element and return it, otherwise
return nil
.
Complexity: O(self.count
)
Deprecated: it will be removed in Swift 3.
Declaration
mutating func popLast() -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
Remove the element at startIndex
and return it.
Complexity: O(1)
Requires: !self.isEmpty
.
Declaration
mutating func removeFirst() -> Self.Generator.Element
Declared In
MutableCollectionType
, CollectionType
Remove the first n
elements.
Complexity:
- O(1) if Index
conforms to RandomAccessIndexType
- O(n) otherwise
Requires: n >= 0 && self.count >= n
.
Declaration
mutating func removeFirst(n: Int)
Declared In
MutableCollectionType
, CollectionType
Where SubSequence == Self, Index : BidirectionalIndexType
If !self.isEmpty
, remove the last element and return it, otherwise
return nil
.
Complexity: O(1)
Declaration
mutating func popLast() -> Self.Generator.Element?
Declared In
MutableCollectionType
, CollectionType
Remove an element from the end.
Complexity: O(1)
Requires: !self.isEmpty
Declaration
mutating func removeLast() -> Self.Generator.Element
Declared In
MutableCollectionType
, CollectionType
Remove the last n
elements.
Complexity:
- O(1) if Index
conforms to RandomAccessIndexType
- O(n) otherwise
Requires: n >= 0 && self.count >= n
.
Declaration
mutating func removeLast(n: Int)
Declared In
MutableCollectionType
, CollectionType
Where SubSequence == Slice
Returns a collection representing a contiguous sub-range of
self
's elements.
Complexity: O(1)
Declaration
subscript(bounds: Range<Self.Index>) -> Slice<Self> { get }
Declared In
MutableCollectionType
, CollectionType
A collection with mutable slices.
For example,
Deprecated: MutableSliceable will be removed in Swift 3. Use 'CollectionType where SubSequence : MutableCollectionType' instead..