github.com/BlockABC/godash@v0.0.0-20191112120524-f4aa3a32c566/blockchain/timesorter.go (about) 1 // Copyright (c) 2013-2014 The btcsuite developers 2 // Copyright (c) 2016 The Dash developers 3 // Use of this source code is governed by an ISC 4 // license that can be found in the LICENSE file. 5 6 package blockchain 7 8 import ( 9 "time" 10 ) 11 12 // timeSorter implements sort.Interface to allow a slice of timestamps to 13 // be sorted. 14 type timeSorter []time.Time 15 16 // Len returns the number of timestamps in the slice. It is part of the 17 // sort.Interface implementation. 18 func (s timeSorter) Len() int { 19 return len(s) 20 } 21 22 // Swap swaps the timestamps at the passed indices. It is part of the 23 // sort.Interface implementation. 24 func (s timeSorter) Swap(i, j int) { 25 s[i], s[j] = s[j], s[i] 26 } 27 28 // Less returns whether the timstamp with index i should sort before the 29 // timestamp with index j. It is part of the sort.Interface implementation. 30 func (s timeSorter) Less(i, j int) bool { 31 return s[i].Before(s[j]) 32 }