MCPcopy Index your code
hub / github.com/ugorji/go / kArrayWMbs

Method kArrayWMbs

codec/encode.go:378–396  ·  view source on GitHub ↗
(rv reflect.Value, ti *typeInfo)

Source from the content-addressed store, hash-verified

376}
377
378func (e *Encoder) kArrayWMbs(rv reflect.Value, ti *typeInfo) {
379 var l = rv.Len()
380 if l == 0 {
381 e.mapStart(0)
382 } else {
383 e.haltOnMbsOddLen(l)
384 e.mapStart(l >> 1) // e.mapStart(l / 2)
385 fn := e.kSeqFn(ti.elem)
386 for j := 0; j < l; j++ {
387 if j&1 == 0 { // j%2 == 0 {
388 e.mapElemKey()
389 } else {
390 e.mapElemValue()
391 }
392 e.encodeValue(rv.Index(j), fn)
393 }
394 }
395 e.mapEnd()
396}
397
398func (e *Encoder) kArrayW(rv reflect.Value, ti *typeInfo) {
399 var l = rv.Len()

Callers 1

kArrayMethod · 0.95

Calls 8

mapStartMethod · 0.95
haltOnMbsOddLenMethod · 0.95
kSeqFnMethod · 0.95
mapElemKeyMethod · 0.95
mapElemValueMethod · 0.95
encodeValueMethod · 0.95
mapEndMethod · 0.95
LenMethod · 0.45

Tested by

no test coverage detected