Skip to content

Instantly share code, notes, and snippets.

@oisdk
Created June 13, 2015 15:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oisdk/46c1057a6be194173dac to your computer and use it in GitHub Desktop.
Save oisdk/46c1057a6be194173dac to your computer and use it in GitHub Desktop.
extension SequenceType where Generator.Element: SequenceType {
func transposeAndPad() -> [[Generator.Element.Generator.Element]]? {
var g = self.generate()
return g.next().map {
var gens = GeneratorSequence(g).map{$0.generate()}
return $0.map { fEl in [fEl] + gens.indices.map{gens[$0].next() ?? fEl}}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment