aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/zclconf/go-cty/cty/set/rules.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/zclconf/go-cty/cty/set/rules.go')
-rw-r--r--vendor/github.com/zclconf/go-cty/cty/set/rules.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/github.com/zclconf/go-cty/cty/set/rules.go b/vendor/github.com/zclconf/go-cty/cty/set/rules.go
index 7200184..51f744b 100644
--- a/vendor/github.com/zclconf/go-cty/cty/set/rules.go
+++ b/vendor/github.com/zclconf/go-cty/cty/set/rules.go
@@ -23,3 +23,21 @@ type Rules interface {
23 // be equivalent. 23 // be equivalent.
24 Equivalent(interface{}, interface{}) bool 24 Equivalent(interface{}, interface{}) bool
25} 25}
26
27// OrderedRules is an extension of Rules that can apply a partial order to
28// element values. When a set's Rules implements OrderedRules an iterator
29// over the set will return items in the order described by the rules.
30//
31// If the given order is not a total order (that is, some pairs of non-equivalent
32// elements do not have a defined order) then the resulting iteration order
33// is undefined but consistent for a particular version of cty. The exact
34// order in that case is not part of the contract and is subject to change
35// between versions.
36type OrderedRules interface {
37 Rules
38
39 // Less returns true if and only if the first argument should sort before
40 // the second argument. If the second argument should sort before the first
41 // or if there is no defined order for the values, return false.
42 Less(interface{}, interface{}) bool
43}