Swift
import Swift
import Swift
typealias AnyClass
The protocol to which all class types implicitly conform.
typealias AnyObject
The protocol to which all classes implicitly conform.
typealias BooleanLiteralType
The default type for an otherwise-unconstrained Boolean literal.
typealias CBool
The C ‘_Bool’ and C++ ‘bool’ type.
typealias CChar
The C ‘char’ type.
typealias CChar16
The C++11 ‘char16_t’ type, which has UTF-16 encoding.
typealias CChar32
The C++11 ‘char32_t’ type, which has UTF-32 encoding.
typealias CDouble
The C ‘double’ type.
typealias CFloat
The C ‘float’ type.
typealias CFloat16
The C ‘_Float16’ type.
typealias CInt
The C ‘int’ type.
typealias CLong
typealias CLongDouble
typealias CLongLong
The C ‘long long’ type.
typealias CShort
The C ‘short’ type.
typealias CSignedChar
The C ‘signed char’ type.
typealias CUnsignedChar
The C ‘unsigned char’ type.
typealias CUnsignedInt
The C ‘unsigned int’ type.
typealias CUnsignedLong
typealias CUnsignedLongLong
The C ‘unsigned long long’ type.
typealias CUnsignedShort
The C ‘unsigned short’ type.
typealias CWideChar
The C++ ‘wchar_t’ type.
typealias Codable
A type that can convert itself into and out of an external representation.
typealias CountableClosedRange
typealias CountablePartialRangeFrom
typealias CountableRange
typealias DictionaryIndex
typealias DictionaryIterator
typealias ExtendedGraphemeClusterType
The default type for an otherwise-unconstrained Unicode extended grapheme cluster literal.
typealias FlattenCollection
typealias Float32
A 32-bit floating point type.
typealias Float64
A 64-bit floating point type.
typealias FloatLiteralType
The default type for an otherwise-unconstrained floating-point literal.
typealias IntegerLiteralType
The default type for an otherwise-unconstrained integer literal.
typealias LazyCollection
A collection containing the same elements as a Base
collection, but on which some operations such as map
and filter
are implemented lazily.
typealias LazyDropWhileCollection
A lazy wrapper that includes the elements of an underlying collection after any initial consecutive elements that satisfy a predicate.
typealias LazyFilterCollection
A lazy Collection
wrapper that includes the elements of an underlying collection that satisfy a predicate.
typealias LazyMapCollection
A Collection
whose elements consist of those in a Base
Collection
passed through a transform function returning Element
. These elements are computed lazily, each time they’re read, by calling the transform function on a base element.
typealias LazyPrefixWhileCollection
A lazy collection wrapper that includes the initial consecutive elements of an underlying collection that satisfy a predicate.
typealias SetIndex
typealias SetIterator
typealias StringLiteralType
The default type for an otherwise-unconstrained string literal.
typealias UTF16
typealias UTF32
typealias UTF8
typealias UnboundedRange
The type of an unbounded range operator.
typealias UnfoldFirstSequence
The return type of sequence(first:next:)
.
typealias UnicodeScalar
typealias UnicodeScalarType
The default type for an otherwise-unconstrained unicode scalar literal.
typealias Void
The return type of functions that don’t explicitly specify a return type, that is, an empty tuple ()
.
func abs<T>(T) -> T
Returns the absolute value of the given number.
func all<Storage>(SIMDMask<Storage>) -> Bool
True if every lane of mask is true.
func any<Storage>(SIMDMask<Storage>) -> Bool
True if any lane of mask is true.
func assert(() -> Bool, () -> String, file: StaticString, line: UInt)
Performs a traditional C-style assert with an optional message.
func assertionFailure(() -> String, file: StaticString, line: UInt)
Indicates that an internal sanity check failed.
func debugPrint(Any..., separator: String, terminator: String)
Writes the textual representations of the given items most suitable for debugging into the standard output.
func debugPrint<Target>(Any..., separator: String, terminator: String, to: inout Target)
Writes the textual representations of the given items most suitable for debugging into the given output stream.
func dump<T>(T, name: String?, indent: Int, maxDepth: Int, maxItems: Int) -> T
Dumps the given object’s contents using its mirror to standard output.
func dump<T, TargetStream>(T, to: inout TargetStream, name: String?, indent: Int, maxDepth: Int, maxItems: Int) -> T
Dumps the given object’s contents using its mirror to the specified output stream.
func fatalError(() -> String, file: StaticString, line: UInt) -> Never
Unconditionally prints a given message and stops execution.
func isKnownUniquelyReferenced<T>(inout T) -> Bool
Returns a Boolean value indicating whether the given object is known to have a single strong reference.
func isKnownUniquelyReferenced<T>(inout T?) -> Bool
Returns a Boolean value indicating whether the given object is known to have a single strong reference.
func max<T>(T, T) -> T
Returns the greater of two comparable values.
func max<T>(T, T, T, T...) -> T
Returns the greatest argument passed.
func min<T>(T, T) -> T
Returns the lesser of two comparable values.
func min<T>(T, T, T, T...) -> T
Returns the least argument passed.
func numericCast<T, U>(T) -> U
Returns the given integer as the equivalent value in a different integer type.
func pointwiseMax<T>(T, T) -> T
The lanewise maximum of two vectors.
func pointwiseMax<T>(T, T) -> T
The lanewise maximum of two vectors.
func pointwiseMin<T>(T, T) -> T
The lanewise minimum of two vectors.
func pointwiseMin<T>(T, T) -> T
The lanewise minimum of two vectors.
func precondition(() -> Bool, () -> String, file: StaticString, line: UInt)
Checks a necessary condition for making forward progress.
func preconditionFailure(() -> String, file: StaticString, line: UInt) -> Never
Indicates that a precondition was violated.
func print(Any..., separator: String, terminator: String)
Writes the textual representations of the given items into the standard output.
func print<Target>(Any..., separator: String, terminator: String, to: inout Target)
Writes the textual representations of the given items into the given output stream.
func readLine(strippingNewline: Bool) -> String?
Returns a string read from standard input through the end of the current line or until EOF is reached.
func repeatElement<T>(T, count: Int) -> Repeated<T>
Creates a collection containing the specified number of the given element.
func sequence<T>(first: T, next: (T) -> T?) -> UnfoldFirstSequence<T>
Returns a sequence formed from first
and repeated lazy applications of next
.
func sequence<T, State>(state: State, next: (inout State) -> T?) -> UnfoldSequence<T, State>
Returns a sequence formed from repeated lazy applications of next
to a mutable state
.
func stride<T>(from: T, through: T, by: T.Stride) -> StrideThrough<T>
Returns a sequence from a starting value toward, and possibly including, an end value, stepping by the specified amount.
func stride<T>(from: T, to: T, by: T.Stride) -> StrideTo<T>
Returns a sequence from a starting value to, but not including, an end value, stepping by the specified amount.
func swap<T>(inout T, inout T)
Exchanges the values of the two arguments.
func swift_unboxFromSwiftValueWithType<T>(inout AnyObject, UnsafeMutablePointer<T>) -> Bool
func transcode<Input, InputEncoding, OutputEncoding>(Input, from: InputEncoding.Type, to: OutputEncoding.Type, stoppingOnError: Bool, into: (OutputEncoding.CodeUnit) -> Void) -> Bool
Translates the given input from one Unicode encoding to another by calling the given closure.
func type<T, Metatype>(of: T) -> Metatype
Returns the dynamic type of a value.
func unsafeBitCast<T, U>(T, to: U.Type) -> U
Returns the bits of the given instance, interpreted as having the specified type.
func unsafeDowncast<T>(AnyObject, to: T.Type) -> T
Returns the given instance cast unconditionally to the specified type.
func withExtendedLifetime<T, Result>(T, (T) throws -> Result) rethrows -> Result
Evaluates a closure while ensuring that the given instance is not destroyed before the closure returns.
func withExtendedLifetime<T, Result>(T, () throws -> Result) rethrows -> Result
Evaluates a closure while ensuring that the given instance is not destroyed before the closure returns.
func withUnsafeBytes<T, Result>(of: T, (UnsafeRawBufferPointer) throws -> Result) rethrows -> Result
Invokes the given closure with a buffer pointer covering the raw bytes of the given argument.
func withUnsafeBytes<T, Result>(of: inout T, (UnsafeRawBufferPointer) throws -> Result) rethrows -> Result
Invokes the given closure with a buffer pointer covering the raw bytes of the given argument.
func withUnsafeMutableBytes<T, Result>(of: inout T, (UnsafeMutableRawBufferPointer) throws -> Result) rethrows -> Result
Invokes the given closure with a mutable buffer pointer covering the raw bytes of the given argument.
func withUnsafeMutablePointer<T, Result>(to: inout T, (UnsafeMutablePointer<T>) throws -> Result) rethrows -> Result
Calls the given closure with a mutable pointer to the given argument.
func withUnsafePointer<T, Result>(to: T, (UnsafePointer<T>) throws -> Result) rethrows -> Result
Invokes the given closure with a pointer to the given argument.
func withUnsafePointer<T, Result>(to: inout T, (UnsafePointer<T>) throws -> Result) rethrows -> Result
Invokes the given closure with a pointer to the given argument.
func withUnsafeTemporaryAllocation<R>(byteCount: Int, alignment: Int, (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R
Provides scoped access to a raw buffer pointer with the specified byte count and alignment.
func withUnsafeTemporaryAllocation<T, R>(of: T.Type, capacity: Int, (UnsafeMutableBufferPointer<T>) throws -> R) rethrows -> R
Provides scoped access to a buffer pointer to memory of the specified type and with the specified capacity.
func withVaList<R>([CVarArg], (CVaListPointer) -> R) -> R
Invokes the given closure with a C va_list
argument derived from the given array of arguments.
func withoutActuallyEscaping<ClosureType, ResultType>(ClosureType, do: (ClosureType) throws -> ResultType) rethrows -> ResultType
Allows a nonescaping closure to temporarily be used as if it were allowed to escape.
func zip<Sequence1, Sequence2>(Sequence1, Sequence2) -> Zip2Sequence<Sequence1, Sequence2>
Creates a sequence of pairs built out of two underlying sequences.
func != (Any.Type?, Any.Type?) -> Bool
Returns a Boolean value indicating whether two types are not identical.
func != <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func != ((), ()) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func != <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func != <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func != <T>(T, T) -> Bool
Returns a Boolean value indicating whether the two arguments are not equal.
func != <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func != <T>(T, T) -> Bool
Returns a Boolean value indicating whether the two arguments are not equal.
func != <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether any corresponding components of the two tuples are not equal.
func !== (AnyObject?, AnyObject?) -> Bool
Returns a Boolean value indicating whether two references point to different object instances.
func < <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func < <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func < <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func < <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func < <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func < ((), ()) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.
func <= <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func <= <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func <= <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func <= <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func <= <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func <= ((), ()) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered before or the same as the second in a lexicographical ordering.
func == <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func == <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func == <T>(T, T) -> Bool
Returns a Boolean value indicating whether the two arguments are equal.
func == (Any.Type?, Any.Type?) -> Bool
Returns a Boolean value indicating whether two types are identical.
func == <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func == <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func == ((), ()) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func == <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether the corresponding components of two tuples are equal.
func === (AnyObject?, AnyObject?) -> Bool
Returns a Boolean value indicating whether two references point to the same object instance.
func > <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func > ((), ()) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func > <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func > <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func > <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func > <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after the second in a lexicographical ordering.
func >= <A, B, C>((A, B, C), (A, B, C)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func >= <A, B, C, D, E, F>((A, B, C, D, E, F), (A, B, C, D, E, F)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func >= <A, B, C, D>((A, B, C, D), (A, B, C, D)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func >= <A, B, C, D, E>((A, B, C, D, E), (A, B, C, D, E)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func >= <A, B>((A, B), (A, B)) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func >= ((), ()) -> Bool
Returns a Boolean value indicating whether the first tuple is ordered after or the same as the second in a lexicographical ordering.
func ?? <T>(T?, () throws -> T?) rethrows -> T?
Performs a nil-coalescing operation, returning the wrapped value of an Optional
instance or a default Optional
value.
func ?? <T>(T?, () throws -> T) rethrows -> T
Performs a nil-coalescing operation, returning the wrapped value of an Optional
instance or a default value.
func ~= <T>(T, T) -> Bool
Returns a Boolean value indicating whether two arguments match by value equality.
enum CommandLine
Command-line arguments for the current process.
enum DecodingError
An error that occurs during the decoding of a value.
enum EncodingError
An error that occurs during the encoding of a value.
enum FloatingPointClassification
The IEEE 754 floating-point classes.
enum FloatingPointRoundingRule
A rule for rounding a floating-point number.
enum FloatingPointSign
The sign of a floating-point value.
enum MemoryLayout
The memory layout of a type, describing its size, stride, and alignment.
enum Never
The return type of functions that do not return normally, that is, a type with no values.
enum Optional
A type that represents either a wrapped value or nil
, the absence of a value.
enum Result
A value that represents either a success or a failure, including an associated value in each case.
enum UnboundedRange_
A range expression that represents the entire range of a collection.
enum Unicode
A namespace for Unicode utilities.
enum UnicodeDecodingResult
The result of one Unicode decoding step.
struct AnyBidirectionalCollection
A type-erased wrapper over any collection with indices that support bidirectional traversal.
struct AnyCollection
A type-erased wrapper over any collection with indices that support forward traversal.
struct AnyHashable
A type-erased hashable value.
struct AnyIndex
A wrapper over an underlying index that hides the specific underlying type.
struct AnyIterator
A type-erased iterator of Element
.
struct AnyRandomAccessCollection
A type-erased wrapper over any collection with indices that support random access traversal.
struct AnySequence
A type-erased sequence.
struct Array
An ordered, random-access collection.
struct ArraySlice
A slice of an Array
, ContiguousArray
, or ArraySlice
instance.
struct Bool
A value type whose instances are either true
or false
.
struct CVaListPointer
struct Character
A single extended grapheme cluster that approximates a user-perceived character.
struct ClosedRange
An interval from a lower bound up to, and including, an upper bound.
struct CodingUserInfoKey
A user-defined key for providing context during encoding and decoding.
struct CollectionDifference
A collection of insertions and removals that describe the difference between two ordered collection states.
struct CollectionOfOne
A collection containing a single element.
struct ContiguousArray
A contiguously stored array.
struct DefaultIndices
A collection of indices for an arbitrary collection
struct DefaultStringInterpolation
Represents a string literal with interpolations while it is being built up.
struct Dictionary
A collection whose elements are key-value pairs.
struct Double
A double-precision, floating-point value type.
struct DropFirstSequence
A sequence that lazily consumes and drops n
elements from an underlying Base
iterator before possibly returning the first available element.
struct DropWhileSequence
A sequence that lazily consumes and drops n
elements from an underlying Base
iterator before possibly returning the first available element.
struct Duration
A representation of high precision time.
struct EmptyCollection
A collection whose element type is Element
but that is always empty.
struct EnumeratedSequence
An enumeration of the elements of a sequence or collection.
struct FlattenSequence
A sequence consisting of all the elements contained in each segment contained in some Base
sequence.
struct Float
A single-precision, floating-point value type.
struct Float16
A half-precision (16b), floating-point value type.
struct Float80
An extended-precision, floating-point value type.
struct Hasher
The universal hash function used by Set
and Dictionary
.
struct IndexingIterator
A type that iterates over a collection using its indices.
struct Int
A signed integer value type.
struct Int16
A 16-bit signed integer value type.
struct Int32
A 32-bit signed integer value type.
struct Int64
A 64-bit signed integer value type.
struct Int8
An 8-bit signed integer value type.
struct IteratorSequence
A sequence built around an iterator of type Base
.
struct JoinedSequence
A sequence that presents the elements of a base sequence of sequences concatenated using a given separator.
struct KeyValuePairs
A lightweight collection of key-value pairs.
struct KeyedDecodingContainer
A concrete container that provides a view into a decoder’s storage, making the encoded properties of a decodable type accessible by keys.
struct KeyedEncodingContainer
A concrete container that provides a view into an encoder’s storage, making the encoded properties of an encodable type accessible by keys.
struct LazyDropWhileSequence
A sequence whose elements consist of the elements that follow the initial consecutive elements of some base sequence that satisfy a given predicate.
struct LazyFilterSequence
A sequence whose elements consist of the elements of some base sequence that also satisfy a given predicate.
struct LazyMapSequence
A Sequence
whose elements consist of those in a Base
Sequence
passed through a transform function returning Element
. These elements are computed lazily, each time they’re read, by calling the transform function on a base element.
struct LazyPrefixWhileSequence
A sequence whose elements consist of the initial consecutive elements of some base sequence that satisfy a given predicate.
struct LazySequence
A sequence containing the same elements as a Base
sequence, but on which some operations such as map
and filter
are implemented lazily.
struct ManagedBufferPointer
Contains a buffer object, and provides access to an instance of Header
and contiguous storage for an arbitrary number of Element
instances stored in that buffer.
struct Mirror
A representation of the substructure and display style of an instance of any type.
struct ObjectIdentifier
A unique identifier for a class instance or metatype.
struct OpaquePointer
A wrapper around an opaque C pointer.
struct PartialRangeFrom
A partial interval extending upward from a lower bound.
struct PartialRangeThrough
A partial interval up to, and including, an upper bound.
struct PartialRangeUpTo
A partial half-open interval up to, but not including, an upper bound.
struct PrefixSequence
A sequence that only consumes up to n
elements from an underlying Base
iterator.
struct Range
A half-open interval from a lower bound up to, but not including, an upper bound.
struct Repeated
A collection whose elements are all identical.
struct ReversedCollection
A collection that presents the elements of its base collection in reverse order.
struct SIMD16
A vector of 16 scalar values.
struct SIMD2
A vector of two scalar values.
struct SIMD3
A vector of three scalar values.
struct SIMD32
A vector of 32 scalar values.
struct SIMD4
A vector of four scalar values.
struct SIMD64
A vector of 64 scalar values.
struct SIMD8
A vector of eight scalar values.
struct SIMDMask
struct Set
An unordered collection of unique elements.
struct Slice
A view into a subsequence of elements of another collection.
struct StaticString
A string type designed to represent text that is known at compile time.
struct StrideThrough
A sequence of values formed by striding over a closed interval.
struct StrideThroughIterator
An iterator for a StrideThrough
instance.
struct StrideTo
A sequence of values formed by striding over a half-open interval.
struct StrideToIterator
An iterator for a StrideTo
instance.
struct String
A Unicode string value that is a collection of characters.
struct Substring
A slice of a string.
struct SystemRandomNumberGenerator
The system’s default source of random data.
struct UInt
An unsigned integer value type.
struct UInt16
A 16-bit unsigned integer value type.
struct UInt32
A 32-bit unsigned integer value type.
struct UInt64
A 64-bit unsigned integer value type.
struct UInt8
An 8-bit unsigned integer value type.
struct UnfoldSequence
A sequence whose elements are produced via repeated applications of a closure to some mutable state.
struct Unmanaged
A type for propagating an unmanaged object reference.
struct UnsafeBufferPointer
struct UnsafeMutableBufferPointer
struct UnsafeMutablePointer
A pointer for accessing and manipulating data of a specific type.
struct UnsafeMutableRawBufferPointer
A mutable nonowning collection interface to the bytes in a region of memory.
struct UnsafeMutableRawPointer
A raw pointer for accessing and manipulating untyped data.
struct UnsafePointer
A pointer for accessing data of a specific type.
struct UnsafeRawBufferPointer
A nonowning collection interface to the bytes in a region of memory.
struct UnsafeRawPointer
A raw pointer for accessing untyped data.
struct Zip2Sequence
A sequence of pairs built out of two underlying sequences.
class AnyKeyPath
A type-erased key path, from any root type to any resulting value type.
class KeyPath
A key path from a specific root type to a specific resulting value type.
class ManagedBuffer
A class whose instances contain a property of type Header
and raw storage for an array of Element
, whose size is determined at instance creation.
class PartialKeyPath
A partially type-erased key path, from a concrete root type to any resulting value type.
class ReferenceWritableKeyPath
A key path that supports reading from and writing to the resulting value with reference semantics.
class WritableKeyPath
A key path that supports reading from and writing to the resulting value.
protocol AdditiveArithmetic
A type with values that support addition and subtraction.
protocol BidirectionalCollection
A collection that supports backward as well as forward traversal.
protocol BinaryFloatingPoint
A radix-2 (binary) floating-point type.
protocol BinaryInteger
An integer type with a binary representation.
protocol CVarArg
A type whose instances can be encoded, and appropriately passed, as elements of a C va_list
.
protocol CaseIterable
A type that provides a collection of all of its values.
protocol CodingKey
A type that can be used as a key for encoding and decoding.
protocol CodingKeyRepresentable
A type that can be converted to and from a coding key.
protocol Collection
A sequence whose elements can be traversed multiple times, nondestructively, and accessed by an indexed subscript.
protocol Comparable
A type that can be compared using the relational operators <
, <=
, >=
, and >
.
protocol CustomDebugStringConvertible
A type with a customized textual representation suitable for debugging purposes.
protocol CustomLeafReflectable
A type that explicitly supplies its own mirror, but whose descendant classes are not represented in the mirror unless they also override customMirror
.
protocol CustomPlaygroundDisplayConvertible
A type that supplies a custom description for playground logging.
protocol CustomReflectable
A type that explicitly supplies its own mirror.
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Decodable
A type that can decode itself from an external representation.
protocol Decoder
A type that can decode values from a native format into in-memory representations.
protocol DurationProtocol
A type that defines a duration for a given InstantProtocol
type.
protocol Encodable
A type that can encode itself to an external representation.
protocol Encoder
A type that can encode values into a native format for external representation.
protocol Equatable
A type that can be compared for value equality.
protocol Error
A type representing an error value that can be thrown.
protocol ExpressibleByArrayLiteral
A type that can be initialized using an array literal.
protocol ExpressibleByBooleanLiteral
A type that can be initialized with the Boolean literals true
and false
.
protocol ExpressibleByDictionaryLiteral
A type that can be initialized using a dictionary literal.
protocol ExpressibleByExtendedGraphemeClusterLiteral
A type that can be initialized with a string literal containing a single extended grapheme cluster.
protocol ExpressibleByFloatLiteral
A type that can be initialized with a floating-point literal.
protocol ExpressibleByIntegerLiteral
A type that can be initialized with an integer literal.
protocol ExpressibleByNilLiteral
A type that can be initialized using the nil literal, nil
.
protocol ExpressibleByStringInterpolation
A type that can be initialized by string interpolation with a string literal that includes expressions.
protocol ExpressibleByStringLiteral
A type that can be initialized with a string literal.
protocol ExpressibleByUnicodeScalarLiteral
A type that can be initialized with a string literal containing a single Unicode scalar value.
protocol FixedWidthInteger
An integer type that uses a fixed size for every instance.
protocol FloatingPoint
A floating-point numeric type.
protocol Hashable
A type that can be hashed into a Hasher
to produce an integer hash value.
protocol Identifiable
A class of types whose instances hold the value of an entity with stable identity.
protocol InstantProtocol
protocol IteratorProtocol
A type that supplies the values of a sequence one at a time.
protocol KeyedDecodingContainerProtocol
A type that provides a view into a decoder’s storage and is used to hold the encoded properties of a decodable type in a keyed manner.
protocol KeyedEncodingContainerProtocol
A type that provides a view into an encoder’s storage and is used to hold the encoded properties of an encodable type in a keyed manner.
protocol LazyCollectionProtocol
protocol LazySequenceProtocol
A sequence on which normally-eager sequence operations are implemented lazily.
protocol LosslessStringConvertible
A type that can be represented as a string in a lossless, unambiguous way.
protocol MirrorPath
A protocol for legitimate arguments to Mirror
’s descendant
method.
protocol MutableCollection
A collection that supports subscript assignment.
protocol Numeric
A type with values that support multiplication.
protocol OptionSet
A type that presents a mathematical set interface to a bit set.
protocol RandomAccessCollection
A collection that supports efficient random-access index traversal.
protocol RandomNumberGenerator
A type that provides uniformly distributed random data.
protocol RangeExpression
A type that can be used to slice a collection.
protocol RangeReplaceableCollection
A collection that supports replacement of an arbitrary subrange of elements with the elements of another collection.
protocol RawRepresentable
A type that can be converted to and from an associated raw value.
protocol SIMD
A SIMD vector of a fixed number of elements.
protocol SIMDScalar
A type that can be used as an element in a SIMD vector.
protocol SIMDStorage
A type that can function as storage for a SIMD vector type.
protocol Sendable
A type whose values can safely be passed across concurrency domains by copying.
protocol Sequence
A type that provides sequential, iterated access to its elements.
protocol SetAlgebra
A type that provides mathematical set operations.
protocol SignedInteger
An integer type that can represent both positive and negative values.
protocol SignedNumeric
A numeric type with a negation operation.
protocol SingleValueDecodingContainer
A container that can support the storage and direct decoding of a single nonkeyed value.
protocol SingleValueEncodingContainer
A container that can support the storage and direct encoding of a single non-keyed value.
protocol Strideable
A type representing continuous, one-dimensional values that can be offset and measured.
protocol StringInterpolationProtocol
Represents the contents of a string literal with interpolations while it’s being built up.
protocol StringProtocol
A type that can represent a string as a collection of characters.
protocol TextOutputStream
A type that can be the target of text-streaming operations.
protocol TextOutputStreamable
A source of text-streaming operations.
protocol UnicodeCodec
A Unicode encoding form that translates between Unicode scalar values and form-specific code units.
protocol UnkeyedDecodingContainer
A type that provides a view into a decoder’s storage and is used to hold the encoded properties of a decodable type sequentially, without keys.
protocol UnkeyedEncodingContainer
A type that provides a view into an encoder’s storage and is used to hold the encoded properties of an encodable type sequentially, without keys.
protocol UnsignedInteger
An integer type that can represent only nonnegative values.
protocol _AppendKeyPath
protocol _ArrayProtocol
protocol _ExpressibleByBuiltinIntegerLiteral
protocol _Pointer
protocol _UTFParser
protocol _UnicodeEncoding
typealias ArrayLiteralConvertible
typealias BidirectionalIndexable
typealias BidirectionalSlice
typealias BooleanLiteralConvertible
typealias ClosedRangeIndex
typealias ConcurrentValue
typealias CustomPlaygroundQuickLookable
A type that explicitly supplies its own playground Quick Look.
typealias DefaultBidirectionalIndices
typealias DefaultRandomAccessIndices
typealias DictionaryLiteral
typealias DictionaryLiteralConvertible
typealias EmptyIterator
typealias EnumeratedIterator
typealias ExtendedGraphemeClusterLiteralConvertible
typealias FlattenBidirectionalCollection
typealias FlattenBidirectionalCollectionIndex
typealias FlattenCollectionIndex
typealias FloatLiteralConvertible
typealias Indexable
typealias IndexableBase
typealias IntegerLiteralConvertible
typealias IteratorOverOne
typealias JoinedIterator
typealias LazyBidirectionalCollection
typealias LazyDropWhileBidirectionalCollection
typealias LazyDropWhileIndex
typealias LazyDropWhileIterator
typealias LazyFilterBidirectionalCollection
typealias LazyFilterIndex
typealias LazyFilterIterator
typealias LazyMapBidirectionalCollection
typealias LazyMapIterator
typealias LazyMapRandomAccessCollection
typealias LazyPrefixWhileBidirectionalCollection
typealias LazyPrefixWhileIndex
typealias LazyPrefixWhileIterator
typealias LazyRandomAccessCollection
typealias MutableBidirectionalSlice
typealias MutableIndexable
typealias MutableRandomAccessSlice
typealias MutableRangeReplaceableBidirectionalSlice
typealias MutableRangeReplaceableRandomAccessSlice
typealias MutableRangeReplaceableSlice
typealias MutableSlice
typealias NilLiteralConvertible
typealias PlaygroundQuickLook
The sum of types that can be used as a Quick Look representation.
typealias RandomAccessIndexable
typealias RandomAccessSlice
typealias RangeReplaceableBidirectionalSlice
typealias RangeReplaceableIndexable
typealias RangeReplaceableRandomAccessSlice
typealias RangeReplaceableSlice
typealias ReversedIndex
typealias ReversedRandomAccessCollection
typealias StringInterpolationConvertible
typealias StringLiteralConvertible
typealias UnicodeScalarLiteralConvertible
typealias UnsafeBufferPointerIterator
typealias UnsafeConcurrentValue
typealias UnsafeMutableRawBufferPointerIterator
typealias UnsafeRawBufferPointerIterator
typealias Zip2Iterator
protocol UnsafeSendable
A type whose values can safely be passed across concurrency domains by copying, but which disables some safety checking at the conformance site.