Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Enumerating a MIDIPacketList in Swift 2.
// Blogged at http://design.featherless.software/enumerate-midipacketlist-in-swift-part-1/
// and http://design.featherless.software/enumerate-midipacketlist-in-swift-part-2/
extension MIDIPacketList: SequenceType {
public func generate() -> AnyGenerator<MIDIPacket> {
var iterator: MIDIPacket?
var nextIndex: UInt32 = 0
return anyGenerator {
if nextIndex++ >= self.numPackets { return nil }
if iterator != nil {
iterator = withUnsafePointer(&iterator!) { MIDIPacketNext($0).memory }
} else {
iterator = self.packet;
}
return iterator
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.