]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Move multiless to missinggo
authorMatt Joiner <anacrolix@gmail.com>
Sun, 3 Mar 2019 03:30:02 +0000 (14:30 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Sun, 3 Mar 2019 03:31:08 +0000 (14:31 +1100)
multiless.go

index bdc851d8e8089ca66a2749b8e7ba881dc0aa33cd..3f69a626b1aa9cae234fcfde21816548b26484e7 100644 (file)
@@ -1,43 +1,8 @@
 package torrent
 
+import "github.com/anacrolix/missinggo"
+
 type (
-       cmper     func() (same, less bool)
-       multiLess struct {
-               ok   bool
-               less bool
-       }
+       multiLess = missinggo.MultiLess
+       cmper     = missinggo.SameLessFunc
 )
-
-func (me *multiLess) Final() bool {
-       if !me.ok {
-               panic("undetermined")
-       }
-       return me.less
-}
-
-func (me *multiLess) FinalOk() (left, ok bool) {
-       return me.less, me.ok
-}
-
-func (me *multiLess) Next(f cmper) {
-       if me.ok {
-               return
-       }
-       same, less := f()
-       if same {
-               return
-       }
-       me.ok = true
-       me.less = less
-}
-
-func (me *multiLess) StrictNext(same, less bool) {
-       if me.ok {
-               return
-       }
-       me.Next(func() (bool, bool) { return same, less })
-}
-
-func (me *multiLess) NextBool(l, r bool) {
-       me.StrictNext(l == r, l)
-}