Commit | Line | Data |
---|---|---|
8c3eab7b | 1 | package DX::OrderedSet; |
2 | ||
3 | use DX::ArrayStream; | |
4 | use Moo; | |
5 | ||
6 | has values => (is => 'ro', default => sub { [] }); | |
7 | ||
8 | sub all { @{$_[0]->values} } | |
9 | ||
10 | sub to_stream { DX::ArrayStream->from_array($_[0]->all) } | |
11 | ||
138613a8 | 12 | sub key_list { 0..$#{$_[0]->values} } |
13 | ||
14 | sub get { $_[0]->values->[$_[1]] } | |
15 | ||
8c3eab7b | 16 | 1; |