func (f genHelperDecoder) DecFallback(iv interface{}, chkPtr bool) {
	f.d.decodeI(iv, chkPtr, false, false, false)
}
FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
package codec
import (
	"encoding"
	"reflect"
)
func GenHelperEncoder(e *Encoder) (genHelperEncoder, encDriver) {
	return genHelperEncoder{e: e}, e.e
}
func GenHelperDecoder(d *Decoder) (genHelperDecoder, decDriver) {
	return genHelperDecoder{d: d}, d.d
}
type genHelperEncoder struct {
	e *Encoder
	F fastpathT
}
type genHelperDecoder struct {
	d *Decoder
	F fastpathT
}
func (f genHelperEncoder) EncBasicHandle() *BasicHandle {
	return f.e.h
}
func (f genHelperEncoder) EncBinary() bool {
	return f.e.be  
}
func (f genHelperEncoder) EncFallback(iv interface{}) {
	f.e.encodeI(iv, false, false)
}
func (f genHelperEncoder) EncTextMarshal(iv encoding.TextMarshaler) {
	bs, fnerr := iv.MarshalText()
	f.e.marshal(bs, fnerr, false, c_UTF8)
}
func (f genHelperEncoder) EncJSONMarshal(iv jsonMarshaler) {
	bs, fnerr := iv.MarshalJSON()
	f.e.marshal(bs, fnerr, true, c_UTF8)
}
func (f genHelperEncoder) EncBinaryMarshal(iv encoding.BinaryMarshaler) {
	bs, fnerr := iv.MarshalBinary()
	f.e.marshal(bs, fnerr, false, c_RAW)
}
func (f genHelperEncoder) TimeRtidIfBinc() uintptr {
	if _, ok := f.e.hh.(*BincHandle); ok {
		return timeTypId
	}
	return 0
}
func (f genHelperEncoder) IsJSONHandle() bool {
	return f.e.js
}
func (f genHelperEncoder) HasExtensions() bool {
	return len(f.e.h.extHandle) != 0
}
func (f genHelperEncoder) EncExt(v interface{}) (r bool) {
	rt := reflect.TypeOf(v)
	if rt.Kind() == reflect.Ptr {
		rt = rt.Elem()
	}
	rtid := reflect.ValueOf(rt).Pointer()
	if xfFn := f.e.h.getExt(rtid); xfFn != nil {
		f.e.e.EncodeExt(v, xfFn.tag, xfFn.ext, f.e)
		return true
	}
	return false
}
func (f genHelperEncoder) EncSendContainerState(c containerState) {
	if f.e.cr != nil {
		f.e.cr.sendContainerState(c)
	}
}
func (f genHelperDecoder) DecBasicHandle() *BasicHandle {
	return f.d.h
}
func (f genHelperDecoder) DecBinary() bool {
	return f.d.be  
}
func (f genHelperDecoder) DecSwallow() {
	f.d.swallow()
}
func (f genHelperDecoder) DecScratchBuffer() []byte {
	return f.d.b[:]
}