protocol
_ArrayType
Inheritance |
ArrayLiteralConvertible, CollectionType, Indexable, MutableCollectionType, MutableIndexable, MutableSliceable, RangeReplaceableCollectionType, SequenceType
View Protocol Hierarchy →
|
---|---|
Associated Types |
A Note: this associated type appears as a requirement in
A type that represents a valid position in the collection. Valid indices consist of the position of every element and a "past the end" position that's not valid for use as a subscript. 4 inherited items hidden. (Show all) |
Import |
|
Initializers
Construct an array of count
elements, each initialized to repeatedValue
.
Declaration
init
(
count
:
Int
,
repeatedValue
:
Self
.
Generator
.
Element
)
Create an instance initialized with elements
.
Declaration
init
(
arrayLiteral
elements
:
Self
.
Element
...)
Declared In
ArrayLiteralConvertible
2 inherited items hidden. (Show all)
Instance Variables
The number of elements the Array can store without reallocation.
Declaration
var
capacity
:
Int
{
get
}
true
if and only if the Array is empty.
Declaration
var
isEmpty
:
Bool
{
get
}
Declared In
_ArrayType
, 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
3 inherited items hidden. (Show all)
Subscripts
Declaration
subscript
(
bounds
:
Range
<
Self
.
Index
>
) -
>
Self
.
SubSequence
{
get
}
Declared In
CollectionType
, MutableCollectionType
, MutableSliceable
Declaration
subscript
(
position
:
Self
.
Index
) -
>
Self
.
Generator
.
Element
{
get
}
Declared In
CollectionType
, Indexable
, MutableCollectionType
, MutableIndexable
2 inherited items hidden. (Show all)
Instance Methods
Operator form of appendContentsOf
.
Declaration
func
+=
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
Generator
.
Element
>
(
inout
lhs
:
Self
,
rhs
:
S
)
Append x
to self
.
Applying successor()
to the index of the new element yields
self.endIndex
.
Complexity: Amortized O(1).
Declaration
mutating
func
append
(
x
:
Self
.
Generator
.
Element
)
Declared In
RangeReplaceableCollectionType
Append the elements of newElements
to self
.
Complexity: O(length of result).
Declaration
mutating
func
appendContentsOf
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
Generator
.
Element
>
(
newElements
:
S
)
Declared In
RangeReplaceableCollectionType
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
Return 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
-
>
())
rethrows
Declared In
SequenceType
Insert newElement
at index i
.
Invalidates all indices with respect to self
.
Complexity: O(self.count
).
Requires: atIndex <= count
.
Declaration
mutating
func
insert
(
newElement
:
Self
.
Generator
.
Element
,
atIndex
i
:
Int
)
Declared In
_ArrayType
, RangeReplaceableCollectionType
Insert newElements
at index i
.
Invalidates all indices with respect to self
.
Complexity: O(self.count + newElements.count
).
Declaration
mutating
func
insertContentsOf
<
S
:
CollectionType
where
S
.
Generator
.
Element
==
Generator
.
Element
>
(
newElements
:
S
,
at
i
:
Self
.
Index
)
Declared In
RangeReplaceableCollectionType
Return 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
Remove all elements.
Invalidates all indices with respect to self
.
keepCapacity
: If true
, is a non-binding request to
avoid releasing storage, which can be a useful optimization
when self
is going to be grown again.
Complexity: O(self.count
).
Declaration
mutating
func
removeAll
(
keepCapacity
keepCapacity
:
Bool
)
Declared In
RangeReplaceableCollectionType
Remove and return the element at the given index.
returns: The removed element.
Complexity: Worst case O(N).
Requires: count > index
.
Declaration
mutating
func
removeAtIndex
(
index
:
Int
) -
>
Self
.
Generator
.
Element
Declared In
_ArrayType
, RangeReplaceableCollectionType
Remove the element at startIndex
and return it.
Complexity: O(self.count
)
Requires: !self.isEmpty
.
Declaration
mutating
func
removeFirst
() -
>
Self
.
Generator
.
Element
Declared In
RangeReplaceableCollectionType
Remove the first n
elements.
Complexity: O(self.count
)
Requires: self.count >= n
.
Declaration
mutating
func
removeFirst
(
n
:
Int
)
Declared In
RangeReplaceableCollectionType
Remove the indicated subRange
of elements.
Invalidates all indices with respect to self
.
Complexity: O(self.count
).
Declaration
mutating
func
removeRange
(
subRange
:
Range
<
Self
.
Index
>
)
Declared In
RangeReplaceableCollectionType
Replace the given subRange
of elements with newElements
.
Invalidates all indices with respect to self
.
Complexity: O(subRange.count
) if
subRange.endIndex == self.endIndex
and newElements.isEmpty
,
O(self.count
+ newElements.count
) otherwise.
Declaration
mutating
func
replaceRange
<
C
:
CollectionType
where
C
.
Generator
.
Element
==
Generator
.
Element
>
(
subRange
:
Range
<
Self
.
Index
>
,
with
newElements
:
C
)
Declared In
RangeReplaceableCollectionType
Reserve enough space to store minimumCapacity elements.
Postcondition: capacity >= minimumCapacity
and the array has
mutable contiguous storage.
Complexity: O(count
).
Declaration
mutating
func
reserveCapacity
(
minimumCapacity
:
Int
)
Declared In
_ArrayType
, RangeReplaceableCollectionType
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
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
Return a value less than or equal to the number of elements in
self
, nondestructively.
Complexity: O(N).
Declaration
func
underestimateCount
() -
>
Int
Declared In
SequenceType
21 inherited items hidden. (Show all)
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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Returns the first element of self
, or nil
if self
is empty.
Complexity: O(1)
Declaration
var
first
:
Self
.
Generator
.
Element
? {
get
}
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Returns true
iff self
is empty.
Complexity: O(1)
Declaration
var
isEmpty
:
Bool
{
get
}
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Declaration
subscript
(
bounds
:
Range
<
Self
.
Index
>
) -
>
MutableSlice
<
Self
>
Declared In
MutableSliceable
, MutableCollectionType
Append x
to self
.
Applying successor()
to the index of the new element yields
self.endIndex
.
Complexity: Amortized O(1).
Declaration
mutating
func
append
(
newElement
:
Self
.
Generator
.
Element
)
Declared In
RangeReplaceableCollectionType
Append the elements of newElements
to self
.
Complexity: O(length of result).
Declaration
mutating
func
appendContentsOf
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
Generator
.
Element
>
(
newElements
:
S
)
Declared In
RangeReplaceableCollectionType
Return true
iff an element in self
satisfies predicate
.
Declaration
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Returns a subsequence containing all but the first element.
Requires: n >= 0
Complexity: O(n
)
Declaration
func
dropFirst
() -
>
Self
.
SubSequence
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Returns a subsequence containing all but the last element.
Requires: self
is a finite sequence.
Requires: n >= 0
Complexity: O(self.count
)
Declaration
func
dropLast
() -
>
Self
.
SubSequence
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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() {
(
"\(
n
): '\(
c
)'"
)
}
0
: '
S
'
1
: '
w
'
2
: '
i
'
3
: '
f
'
4
: '
t
'
Declaration
func
enumerate
() -
>
EnumerateSequence
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
-
>
())
rethrows
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Insert newElement
at index i
.
Invalidates all indices with respect to self
.
Complexity: O(self.count
).
Declaration
mutating
func
insert
(
newElement
:
Self
.
Generator
.
Element
,
atIndex
i
:
Self
.
Index
)
Declared In
RangeReplaceableCollectionType
Insert newElements
at index i
.
Invalidates all indices with respect to self
.
Complexity: O(self.count + newElements.count
).
Declaration
mutating
func
insertContentsOf
<
C
:
CollectionType
where
C
.
Generator
.
Element
==
Generator
.
Element
>
(
newElements
:
C
,
at
i
:
Self
.
Index
)
Declared In
RangeReplaceableCollectionType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Returns prefixUpTo(position.successor())
Complexity: O(1)
Declaration
func
prefixThrough
(
position
:
Self
.
Index
) -
>
Self
.
SubSequence
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Returns self[startIndex..<end]
Complexity: O(1)
Declaration
func
prefixUpTo
(
end
:
Self
.
Index
) -
>
Self
.
SubSequence
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Remove all elements.
Invalidates all indices with respect to self
.
keepCapacity
: If true
, is a non-binding request to
avoid releasing storage, which can be a useful optimization
when self
is going to be grown again.
Complexity: O(self.count
).
Declaration
mutating
func
removeAll
(
keepCapacity
keepCapacity
:
Bool
=
default
)
Declared In
RangeReplaceableCollectionType
Remove the element at index i
.
Invalidates all indices with respect to self
.
Complexity: O(self.count
).
Declaration
mutating
func
removeAtIndex
(
index
:
Self
.
Index
) -
>
Self
.
Generator
.
Element
Declared In
RangeReplaceableCollectionType
Remove the element at startIndex
and return it.
Complexity: O(self.count
)
Requires: !self.isEmpty
.
Declaration
mutating
func
removeFirst
() -
>
Self
.
Generator
.
Element
Declared In
RangeReplaceableCollectionType
Remove the first n
elements.
Complexity: O(self.count
)
Requires: self.count >= n
.
Declaration
mutating
func
removeFirst
(
n
:
Int
)
Declared In
RangeReplaceableCollectionType
Remove the indicated subRange
of elements.
Invalidates all indices with respect to self
.
Complexity: O(self.count
).
Declaration
mutating
func
removeRange
(
subRange
:
Range
<
Self
.
Index
>
)
Declared In
RangeReplaceableCollectionType
A non-binding request to ensure n
elements of available storage.
This works as an optimization to avoid multiple reallocations of
linear data structures like Array
. Conforming types may
reserve more than n
, exactly n
, less than n
elements of
storage, or even ignore the request completely.
Declaration
mutating
func
reserveCapacity
(
n
:
Self
.
Index
.
Distance
)
Declared In
RangeReplaceableCollectionType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return true iff self
begins with elements equivalent to those of
other
, using isEquivalent
as the equivalence test. Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Returns self[start..<endIndex]
Complexity: O(1)
Declaration
func
suffixFrom
(
start
:
Self
.
Index
) -
>
Self
.
SubSequence
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Returns a value less than or equal to the number of elements in
self
, nondestructively.
Complexity: O(N).
Declaration
func
underestimateCount
() -
>
Int
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
43 inherited items hidden. (Show all)
Where Generator == IndexingGenerator
Declaration
func
generate
() -
>
IndexingGenerator
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Where Generator == Self, Self : GeneratorType
Return a generator over the elements of this sequence.
Complexity: O(1).
Declaration
func
generate
() -
>
Self
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Where Generator.Element : CollectionType
A concatenation of the elements of self
.
Declaration
func
flatten
() -
>
FlattenCollection
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Where Generator.Element : CollectionType, Index : BidirectionalIndexType, Generator.Element.Index : BidirectionalIndexType
A concatenation of the elements of self
.
Declaration
func
flatten
() -
>
FlattenBidirectionalCollection
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Where Generator.Element : Comparable
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Where Generator.Element : Equatable
Return true
iff element
is in self
.
Declaration
func
contains
(
element
:
Self
.
Generator
.
Element
) -
>
Bool
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Return true iff the the initial elements of self
are equal to prefix
.
Return true if other
is empty.
Declaration
func
startsWith
<
OtherSequence
:
SequenceType
where
OtherSequence
.
Generator
.
Element
==
Generator
.
Element
>
(
other
:
OtherSequence
) -
>
Bool
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Where Generator.Element : SequenceType
A concatenation of the elements of self
.
Declaration
func
flatten
() -
>
FlattenSequence
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, 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
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
, SequenceType
Where Index : BidirectionalIndexType
Declaration
var
last
:
Self
.
Generator
.
Element
? {
get
}
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Remove an element from the end.
Complexity: O(1)
Requires: !self.isEmpty
Declaration
mutating
func
removeLast
() -
>
Self
.
Generator
.
Element
Declared In
RangeReplaceableCollectionType
Return the elements of self
in reverse order.
Complexity: O(1)
Declaration
func
reverse
() -
>
ReverseCollection
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
Declared In
MutableSliceable
, MutableCollectionType
Return the elements of self
in reverse order.
Complexity: O(1)
Declaration
func
reverse
() -
>
ReverseRandomAccessCollection
<
Self
>
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
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
MutableSliceable
, 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
MutableSliceable
, 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
MutableSliceable
, MutableCollectionType
Where SubSequence == Self
If !self.isEmpty
, remove the first element and return it, otherwise
return nil
.
Complexity: O(self.count
)
Declaration
mutating
func
popFirst
() -
>
Self
.
Generator
.
Element
?
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
If !self.isEmpty
, remove the last element and return it, otherwise
return nil
.
Complexity: O(self.count
)
Declaration
mutating
func
popLast
() -
>
Self
.
Generator
.
Element
?
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Remove the element at startIndex
and return it.
Complexity: O(self.count
)
Requires: !self.isEmpty
.
Declaration
mutating
func
removeFirst
() -
>
Self
.
Generator
.
Element
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
Where SubSequence == Slice
Declaration
Declared In
RangeReplaceableCollectionType
, MutableSliceable
, CollectionType
, MutableCollectionType
A type that provides the sequence's iteration interface and encapsulates its iteration state.
By default, a
CollectionType
satisfiesSequenceType
by supplying anIndexingGenerator
as its associatedGenerator
type.