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 cases

import 

type caseFolder struct{ transform.NopResetter }
caseFolder implements the Transformer interface for doing case folding.
func ( *caseFolder) (,  []byte,  bool) (,  int,  error) {
	 := context{dst: , src: , atEOF: }
	for .next() {
		foldFull(&)
		.checkpoint()
	}
	return .ret()
}

func ( *caseFolder) ( []byte,  bool) ( int,  error) {
	 := context{src: , atEOF: }
	for .next() && isFoldFull(&) {
		.checkpoint()
	}
	return .retSpan()
}

TODO: Special case folding, through option Language, Special/Turkic, or both. TODO: Implement Compact options.
	return &caseFolder{}