Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/vendor/go4.org/reflectutil/swapper.go

22 lignes
686 o
Go
Brut Vue normale Historique

// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package reflectutil
import "reflect"
// Swapper returns a function which swaps the elements in slice.
// Swapper panics if the provided interface is not a slice.
//
// Its goal is to work safely and efficiently for all versions and
// variants of Go: pre-Go1.5, Go1.5+, safe, unsafe, App Engine,
// GopherJS, etc.
func Swapper(slice interface{}) func(i, j int) {
v := reflect.ValueOf(slice)
if v.Kind() != reflect.Slice {
panic(&reflect.ValueError{Method: "reflectutil.Swapper", Kind: v.Kind()})
}
return swapper(v)
}