06af0e81a2df11a92086db05054fce33b398b450
[scpubgit/DKit.git] / lib / DX / OrderedSet.pm
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
12 sub key_list { 0..$#{$_[0]->values} }
13
14 sub get { $_[0]->values->[$_[1]] }
15
16 1;