| // Copyright 2013 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 colltab // import "golang.org/x/text/internal/colltab" | |
| // A Weighter can be used as a source for Collator and Searcher. | |
| type Weighter interface { | |
| // Start finds the start of the segment that includes position p. | |
| Start(p int, b []byte) int | |
| // StartString finds the start of the segment that includes position p. | |
| StartString(p int, s string) int | |
| // AppendNext appends Elems to buf corresponding to the longest match | |
| // of a single character or contraction from the start of s. | |
| // It returns the new buf and the number of bytes consumed. | |
| AppendNext(buf []Elem, s []byte) (ce []Elem, n int) | |
| // AppendNextString appends Elems to buf corresponding to the longest match | |
| // of a single character or contraction from the start of s. | |
| // It returns the new buf and the number of bytes consumed. | |
| AppendNextString(buf []Elem, s string) (ce []Elem, n int) | |
| // Domain returns a slice of all single characters and contractions for which | |
| // collation elements are defined in this table. | |
| Domain() []string | |
| // Top returns the highest variable primary value. | |
| Top() uint32 | |
| } |