Кроме того, что предложил Тудор, другой способ - использовать псевдопрограмму set_of_values()
, которая возвращает set
(а не список) всех значений:
set_of_values(my_type).uint_size()
В некотором смысле, используя set_of_values()
лучше, потому что all_values()
создает новый список, который обычно занимает больше памяти, чем набор.uint_size()
возвращает размер набора как uint
.Существует также size()
, но он возвращает int(bits: *)
, поэтому достаточно использовать uint_size()
в этом случае, поскольку в перечисляемом типе не может быть больше MAX_UINT
элементов.