diff options
author | appilon <apilon@hashicorp.com> | 2019-02-27 16:43:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-27 16:43:31 -0500 |
commit | 844b5a68d8af4791755b8f0ad293cc99f5959183 (patch) | |
tree | 255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/zclconf/go-cty/cty/set/iterator.go | |
parent | 303b299eeb6b06e939e35905e4b34cb410dd9dc3 (diff) | |
parent | 15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (diff) | |
download | terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.gz terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.zst terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.zip |
Merge pull request #27 from terraform-providers/go-modules-2019-02-22
[MODULES] Switch to Go Modules
Diffstat (limited to 'vendor/github.com/zclconf/go-cty/cty/set/iterator.go')
-rw-r--r-- | vendor/github.com/zclconf/go-cty/cty/set/iterator.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/github.com/zclconf/go-cty/cty/set/iterator.go b/vendor/github.com/zclconf/go-cty/cty/set/iterator.go new file mode 100644 index 0000000..f15498e --- /dev/null +++ b/vendor/github.com/zclconf/go-cty/cty/set/iterator.go | |||
@@ -0,0 +1,36 @@ | |||
1 | package set | ||
2 | |||
3 | type Iterator struct { | ||
4 | bucketIds []int | ||
5 | vals map[int][]interface{} | ||
6 | bucketIdx int | ||
7 | valIdx int | ||
8 | } | ||
9 | |||
10 | func (it *Iterator) Value() interface{} { | ||
11 | return it.currentBucket()[it.valIdx] | ||
12 | } | ||
13 | |||
14 | func (it *Iterator) Next() bool { | ||
15 | if it.bucketIdx == -1 { | ||
16 | // init | ||
17 | if len(it.bucketIds) == 0 { | ||
18 | return false | ||
19 | } | ||
20 | |||
21 | it.valIdx = 0 | ||
22 | it.bucketIdx = 0 | ||
23 | return true | ||
24 | } | ||
25 | |||
26 | it.valIdx++ | ||
27 | if it.valIdx >= len(it.currentBucket()) { | ||
28 | it.valIdx = 0 | ||
29 | it.bucketIdx++ | ||
30 | } | ||
31 | return it.bucketIdx < len(it.bucketIds) | ||
32 | } | ||
33 | |||
34 | func (it *Iterator) currentBucket() []interface{} { | ||
35 | return it.vals[it.bucketIds[it.bucketIdx]] | ||
36 | } | ||