Extending Array from custom Sequence in Swift? -
i'm trying to:
- make custom protocols descended sequence , generator
specialsequence
,specialgenerator
- implement
specialgenerator
specialgen
- extend array implement
specialsequence
here's i've tried far:
protocol specialgenerator: generator { typealias t; func next() -> t?; //... } class specialgen<t>: specialgenerator { var objects: array<t>; var currindex = 0; init(objs: array<t>) { self.objects = objs; } func next() -> t? { return objects[currindex]; } //... } protocol specialsequence: sequence { typealias t; func generate() -> specialgenerator; //... } extension array: specialsequence { func generate() -> specialgenerator { return specialgen(objs: self); } }
but error array<t> not conform protocol "specialsequence"
i've tried using various combinations of specialgenerator
, specialgen<t>
return types no avail.
is possible in swift?
you need supply value type alias defined
protocol specialsequence: sequence { typealias foo; func generate() -> specialgenerator; //... } extension array: specialsequence { typealias foo = t func generate() -> specialgenerator { return specialgen(objs: self); } }
this compiles me
Comments
Post a Comment