1package semver
2
3// Collection is a collection of Version instances and implements the sort
4// interface. See the sort package for more details.
5// https://golang.org/pkg/sort/
6type Collection []*Version
7
8// Len returns the length of a collection. The number of Version instances
9// on the slice.
10func (c Collection) Len() int {
11	return len(c)
12}
13
14// Less is needed for the sort interface to compare two Version objects on the
15// slice. If checks if one is less than the other.
16func (c Collection) Less(i, j int) bool {
17	return c[i].LessThan(c[j])
18}
19
20// Swap is needed for the sort interface to replace the Version objects
21// at two different positions in the slice.
22func (c Collection) Swap(i, j int) {
23	c[i], c[j] = c[j], c[i]
24}
25