Rough proposal for implementing a method to get all cases on a enum. I feel 
like this is a valuable feature, and all current methods of doing this have 
major drawbacks. I'd like to field the idea to gauge interest.
Thank You,
Anthony Miller
Lead iOS Developer, App-Order.com <http://app-order.com/>
Mobile: 702-334-8454
# Collection of all cases for an Enum

## Introduction
Add reflection capabilities for getting an `Array` or `Set` of all cases for an 
Enum. 
This would not be supported for enums with associated values.
## Motivation
This feature provides a benefit for many use cases. 
Multiple methods of doing this exist currently, however each has obvious 
drawbacks.
For an summary of current methods, see: 
http://stackoverflow.com/questions/24007461/how-to-enumerate-an-enum-with-string-type/24137319#24137319
 
<http://stackoverflow.com/questions/24007461/how-to-enumerate-an-enum-with-string-type/24137319#24137319>
## Proposed solution

This could be implemented as a static function or static constant. 
    enum Foo {
        case CaseOne, CaseTwo, CaseThree
    }
    
    let allCases: [Foo] = Foo.allCases()    // [.CaseOne, .CaseTwo, .CaseThree] 
   

Alternatively, an extension of `Mirror` to support mirrors of types could 
include this capability.


_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to