[swift-evolution] [Review] SE-0107: UnsafeRawPointer API "initialize(from:forwardToCount:)"
Andrew Trick
atrick at apple.com
Tue Jul 5 10:23:25 CDT 2016
> On Jul 2, 2016, at 10:10 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
>
> I have a pile of naming quibbles; rather than describe them all in prose (which turned into a mess), I've annotated parts of the "Full UnsafeRawPointer API" section in a gist: <https://gist.github.com/brentdax/8f4ed4decafc1d18c4441092baa13cfe <https://gist.github.com/brentdax/8f4ed4decafc1d18c4441092baa13cfe>>.
I want to call this out separately because it’s not specific to my proposal and changes the existing UnsafePointer API.
Brent’s suggestion is to change `initialize(from:count:)` to `initialize(from:forwardToCount:)` for symmetry with the backward operations. It makes perfect sense to me, and it does a better job of conveying that a sequence of elements will be read out of “from”.
Any objections?
// I'm not happy with the asymmetry of these forwards/backwards
// pairs.
//
// func initialize<T>(from: UnsafePointer<T>, count: Int)
// -> UnsafeMutablePointer<T>
// func initializeBackward<T>(from: UnsafePointer<T>, count: Int)
// -> UnsafeMutablePointer<T>
func initialize<T>(from: UnsafePointer<T>, forwardToCount: Int)
-> UnsafeMutablePointer<T>
func initialize<T>(from: UnsafePointer<T>, backwardFromCount: Int)
-> UnsafeMutablePointer<T>
// More detailed thoughts on redesigining `move` methods in the
// email, but for now:
//
// func moveInitialize<T>(from: UnsafePointer<T>, count: Int)
// -> UnsafeMutablePointer<T>
// func moveInitializeBackward<T>(from: UnsafePointer<T>, count: Int)
// -> UnsafeMutablePointer<T>
func moveInitialize<T>(from: UnsafePointer<T>, forwardToCount: Int)
-> UnsafeMutablePointer<T>
func moveInitialize<T>(from: UnsafePointer<T>, backwardFromCount: Int)
-> UnsafeMutablePointer<T>
Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160705/12faa9c5/attachment.html>
More information about the swift-evolution
mailing list