enum, у которого дохрена возможных значений, но их можно логически представить как enum enum'ов.
Грубо говоря, есть:
enum Foo {
AB,
AC,
DB,
DC,
}
который хочется разложить на:
enum Foo{
A(Bar),
D(Bar),
}
enum Bar {
B,
C,
}
Предвосхищая логичное предложение: сделать структуру, у которой в одном поле A/D, а в другом B/C нельзя, потому что на самом деле вариантов больше, и не любая комбинация легальна.
Грубо говоря, :
enum A {
A(Foo),
B(Foo),
C(Bar),
D(Baz),
}
Где Foo, Bar и Baz - некоторые различные C-style перечисления (т.е. у них нет полей).
Да, у меня несколько ограниченные вычислительные ресурсы, поэтому такая оптимизация очень желательна.
Обсуждают сегодня