| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287 |
- // Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
- // Use of this source code is governed by a BSD-style license found in the LICENSE file.
- // ************************************************************
- // DO NOT EDIT.
- // THIS FILE IS GENERATED BY RUNNING: go run gen-fast-path.go
- // ************************************************************
- package codec
- // Fast path functions try to create a fast path encode or decode implementation
- // for common maps and slices.
- //
- // We define the functions and register then in this single file
- // so as not to pollute the encode.go and decode.go, and create a dependency in there.
- // This file can be omitted without causing a build failure.
- //
- // The advantage of fast paths is:
- // - Many calls bypass reflection altogether
- //
- // Currently support
- // - slice of all builtin types,
- // - map of all builtin types to string or interface value
- // - symetrical maps of all builtin types (e.g. str-str, uint8-uint8)
- // This should provide adequate "typical" implementations.
- import (
- "reflect"
- )
- func init() {
- if !fastpathEnabled {
- return // basically disable the fast path checks (since accessing empty map is basically free)
- }
- fdx := func(i interface{}, fd func(*decFnInfo, reflect.Value)) {
- fastpathsDec[reflect.ValueOf(reflect.TypeOf(i)).Pointer()] = fd
- }
- fex := func(i interface{}, fe func(*encFnInfo, reflect.Value)) {
- fastpathsEnc[reflect.ValueOf(reflect.TypeOf(i)).Pointer()] = fe
- }
- fex([]interface{}(nil), (*encFnInfo).fastEncSliceIntf)
- fex([]string(nil), (*encFnInfo).fastEncSliceString)
- fex([]float32(nil), (*encFnInfo).fastEncSliceFloat32)
- fex([]float64(nil), (*encFnInfo).fastEncSliceFloat64)
- fex([]uint(nil), (*encFnInfo).fastEncSliceUint)
- fex([]uint16(nil), (*encFnInfo).fastEncSliceUint16)
- fex([]uint32(nil), (*encFnInfo).fastEncSliceUint32)
- fex([]uint64(nil), (*encFnInfo).fastEncSliceUint64)
- fex([]int(nil), (*encFnInfo).fastEncSliceInt)
- fex([]int8(nil), (*encFnInfo).fastEncSliceInt8)
- fex([]int16(nil), (*encFnInfo).fastEncSliceInt16)
- fex([]int32(nil), (*encFnInfo).fastEncSliceInt32)
- fex([]int64(nil), (*encFnInfo).fastEncSliceInt64)
- fex([]bool(nil), (*encFnInfo).fastEncSliceBool)
- fex(map[interface{}]interface{}(nil), (*encFnInfo).fastEncMapIntfIntf)
- fex(map[interface{}]string(nil), (*encFnInfo).fastEncMapIntfString)
- fex(map[string]interface{}(nil), (*encFnInfo).fastEncMapStringIntf)
- fex(map[string]string(nil), (*encFnInfo).fastEncMapStringString)
- fex(map[float32]interface{}(nil), (*encFnInfo).fastEncMapFloat32Intf)
- fex(map[float32]string(nil), (*encFnInfo).fastEncMapFloat32String)
- fex(map[float32]float32(nil), (*encFnInfo).fastEncMapFloat32Float32)
- fex(map[float64]interface{}(nil), (*encFnInfo).fastEncMapFloat64Intf)
- fex(map[float64]string(nil), (*encFnInfo).fastEncMapFloat64String)
- fex(map[float64]float64(nil), (*encFnInfo).fastEncMapFloat64Float64)
- fex(map[uint]interface{}(nil), (*encFnInfo).fastEncMapUintIntf)
- fex(map[uint]string(nil), (*encFnInfo).fastEncMapUintString)
- fex(map[uint]uint(nil), (*encFnInfo).fastEncMapUintUint)
- fex(map[uint8]interface{}(nil), (*encFnInfo).fastEncMapUint8Intf)
- fex(map[uint8]string(nil), (*encFnInfo).fastEncMapUint8String)
- fex(map[uint8]uint8(nil), (*encFnInfo).fastEncMapUint8Uint8)
- fex(map[uint16]interface{}(nil), (*encFnInfo).fastEncMapUint16Intf)
- fex(map[uint16]string(nil), (*encFnInfo).fastEncMapUint16String)
- fex(map[uint16]uint16(nil), (*encFnInfo).fastEncMapUint16Uint16)
- fex(map[uint32]interface{}(nil), (*encFnInfo).fastEncMapUint32Intf)
- fex(map[uint32]string(nil), (*encFnInfo).fastEncMapUint32String)
- fex(map[uint32]uint32(nil), (*encFnInfo).fastEncMapUint32Uint32)
- fex(map[uint64]interface{}(nil), (*encFnInfo).fastEncMapUint64Intf)
- fex(map[uint64]string(nil), (*encFnInfo).fastEncMapUint64String)
- fex(map[uint64]uint64(nil), (*encFnInfo).fastEncMapUint64Uint64)
- fex(map[int]interface{}(nil), (*encFnInfo).fastEncMapIntIntf)
- fex(map[int]string(nil), (*encFnInfo).fastEncMapIntString)
- fex(map[int]int(nil), (*encFnInfo).fastEncMapIntInt)
- fex(map[int8]interface{}(nil), (*encFnInfo).fastEncMapInt8Intf)
- fex(map[int8]string(nil), (*encFnInfo).fastEncMapInt8String)
- fex(map[int8]int8(nil), (*encFnInfo).fastEncMapInt8Int8)
- fex(map[int16]interface{}(nil), (*encFnInfo).fastEncMapInt16Intf)
- fex(map[int16]string(nil), (*encFnInfo).fastEncMapInt16String)
- fex(map[int16]int16(nil), (*encFnInfo).fastEncMapInt16Int16)
- fex(map[int32]interface{}(nil), (*encFnInfo).fastEncMapInt32Intf)
- fex(map[int32]string(nil), (*encFnInfo).fastEncMapInt32String)
- fex(map[int32]int32(nil), (*encFnInfo).fastEncMapInt32Int32)
- fex(map[int64]interface{}(nil), (*encFnInfo).fastEncMapInt64Intf)
- fex(map[int64]string(nil), (*encFnInfo).fastEncMapInt64String)
- fex(map[int64]int64(nil), (*encFnInfo).fastEncMapInt64Int64)
- fex(map[bool]interface{}(nil), (*encFnInfo).fastEncMapBoolIntf)
- fex(map[bool]string(nil), (*encFnInfo).fastEncMapBoolString)
- fex(map[bool]bool(nil), (*encFnInfo).fastEncMapBoolBool)
- fdx([]interface{}(nil), (*decFnInfo).fastDecSliceIntf)
- fdx([]string(nil), (*decFnInfo).fastDecSliceString)
- fdx([]float32(nil), (*decFnInfo).fastDecSliceFloat32)
- fdx([]float64(nil), (*decFnInfo).fastDecSliceFloat64)
- fdx([]uint(nil), (*decFnInfo).fastDecSliceUint)
- fdx([]uint16(nil), (*decFnInfo).fastDecSliceUint16)
- fdx([]uint32(nil), (*decFnInfo).fastDecSliceUint32)
- fdx([]uint64(nil), (*decFnInfo).fastDecSliceUint64)
- fdx([]int(nil), (*decFnInfo).fastDecSliceInt)
- fdx([]int8(nil), (*decFnInfo).fastDecSliceInt8)
- fdx([]int16(nil), (*decFnInfo).fastDecSliceInt16)
- fdx([]int32(nil), (*decFnInfo).fastDecSliceInt32)
- fdx([]int64(nil), (*decFnInfo).fastDecSliceInt64)
- fdx([]bool(nil), (*decFnInfo).fastDecSliceBool)
- fdx(map[interface{}]interface{}(nil), (*decFnInfo).fastDecMapIntfIntf)
- fdx(map[interface{}]string(nil), (*decFnInfo).fastDecMapIntfString)
- fdx(map[string]interface{}(nil), (*decFnInfo).fastDecMapStringIntf)
- fdx(map[string]string(nil), (*decFnInfo).fastDecMapStringString)
- fdx(map[float32]interface{}(nil), (*decFnInfo).fastDecMapFloat32Intf)
- fdx(map[float32]string(nil), (*decFnInfo).fastDecMapFloat32String)
- fdx(map[float32]float32(nil), (*decFnInfo).fastDecMapFloat32Float32)
- fdx(map[float64]interface{}(nil), (*decFnInfo).fastDecMapFloat64Intf)
- fdx(map[float64]string(nil), (*decFnInfo).fastDecMapFloat64String)
- fdx(map[float64]float64(nil), (*decFnInfo).fastDecMapFloat64Float64)
- fdx(map[uint]interface{}(nil), (*decFnInfo).fastDecMapUintIntf)
- fdx(map[uint]string(nil), (*decFnInfo).fastDecMapUintString)
- fdx(map[uint]uint(nil), (*decFnInfo).fastDecMapUintUint)
- fdx(map[uint8]interface{}(nil), (*decFnInfo).fastDecMapUint8Intf)
- fdx(map[uint8]string(nil), (*decFnInfo).fastDecMapUint8String)
- fdx(map[uint8]uint8(nil), (*decFnInfo).fastDecMapUint8Uint8)
- fdx(map[uint16]interface{}(nil), (*decFnInfo).fastDecMapUint16Intf)
- fdx(map[uint16]string(nil), (*decFnInfo).fastDecMapUint16String)
- fdx(map[uint16]uint16(nil), (*decFnInfo).fastDecMapUint16Uint16)
- fdx(map[uint32]interface{}(nil), (*decFnInfo).fastDecMapUint32Intf)
- fdx(map[uint32]string(nil), (*decFnInfo).fastDecMapUint32String)
- fdx(map[uint32]uint32(nil), (*decFnInfo).fastDecMapUint32Uint32)
- fdx(map[uint64]interface{}(nil), (*decFnInfo).fastDecMapUint64Intf)
- fdx(map[uint64]string(nil), (*decFnInfo).fastDecMapUint64String)
- fdx(map[uint64]uint64(nil), (*decFnInfo).fastDecMapUint64Uint64)
- fdx(map[int]interface{}(nil), (*decFnInfo).fastDecMapIntIntf)
- fdx(map[int]string(nil), (*decFnInfo).fastDecMapIntString)
- fdx(map[int]int(nil), (*decFnInfo).fastDecMapIntInt)
- fdx(map[int8]interface{}(nil), (*decFnInfo).fastDecMapInt8Intf)
- fdx(map[int8]string(nil), (*decFnInfo).fastDecMapInt8String)
- fdx(map[int8]int8(nil), (*decFnInfo).fastDecMapInt8Int8)
- fdx(map[int16]interface{}(nil), (*decFnInfo).fastDecMapInt16Intf)
- fdx(map[int16]string(nil), (*decFnInfo).fastDecMapInt16String)
- fdx(map[int16]int16(nil), (*decFnInfo).fastDecMapInt16Int16)
- fdx(map[int32]interface{}(nil), (*decFnInfo).fastDecMapInt32Intf)
- fdx(map[int32]string(nil), (*decFnInfo).fastDecMapInt32String)
- fdx(map[int32]int32(nil), (*decFnInfo).fastDecMapInt32Int32)
- fdx(map[int64]interface{}(nil), (*decFnInfo).fastDecMapInt64Intf)
- fdx(map[int64]string(nil), (*decFnInfo).fastDecMapInt64String)
- fdx(map[int64]int64(nil), (*decFnInfo).fastDecMapInt64Int64)
- fdx(map[bool]interface{}(nil), (*decFnInfo).fastDecMapBoolIntf)
- fdx(map[bool]string(nil), (*decFnInfo).fastDecMapBoolString)
- fdx(map[bool]bool(nil), (*decFnInfo).fastDecMapBoolBool)
- }
- // -- encode
- func (f *encFnInfo) fastEncSliceIntf(rv reflect.Value) {
- v := rv.Interface().([]interface{})
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncSliceString(rv reflect.Value) {
- v := rv.Interface().([]string)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncSliceFloat32(rv reflect.Value) {
- v := rv.Interface().([]float32)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeFloat32(v2)
- }
- }
- func (f *encFnInfo) fastEncSliceFloat64(rv reflect.Value) {
- v := rv.Interface().([]float64)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeFloat64(v2)
- }
- }
- func (f *encFnInfo) fastEncSliceUint(rv reflect.Value) {
- v := rv.Interface().([]uint)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceUint16(rv reflect.Value) {
- v := rv.Interface().([]uint16)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceUint32(rv reflect.Value) {
- v := rv.Interface().([]uint32)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncSliceUint64(rv reflect.Value) {
- v := rv.Interface().([]uint64)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceInt(rv reflect.Value) {
- v := rv.Interface().([]int)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceInt8(rv reflect.Value) {
- v := rv.Interface().([]int8)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceInt16(rv reflect.Value) {
- v := rv.Interface().([]int16)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceInt32(rv reflect.Value) {
- v := rv.Interface().([]int32)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncSliceInt64(rv reflect.Value) {
- v := rv.Interface().([]int64)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncSliceBool(rv reflect.Value) {
- v := rv.Interface().([]bool)
- f.ee.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- f.ee.encodeBool(v2)
- }
- }
- func (f *encFnInfo) fastEncMapIntfIntf(rv reflect.Value) {
- v := rv.Interface().(map[interface{}]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapIntfString(rv reflect.Value) {
- v := rv.Interface().(map[interface{}]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapStringIntf(rv reflect.Value) {
- v := rv.Interface().(map[string]interface{})
- f.ee.encodeMapPreamble(len(v))
- asSymbols := f.e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
- for k2, v2 := range v {
- if asSymbols {
- f.ee.encodeSymbol(k2)
- } else {
- f.ee.encodeString(c_UTF8, k2)
- }
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapStringString(rv reflect.Value) {
- v := rv.Interface().(map[string]string)
- f.ee.encodeMapPreamble(len(v))
- asSymbols := f.e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
- for k2, v2 := range v {
- if asSymbols {
- f.ee.encodeSymbol(k2)
- } else {
- f.ee.encodeString(c_UTF8, k2)
- }
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat32Intf(rv reflect.Value) {
- v := rv.Interface().(map[float32]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat32(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat32String(rv reflect.Value) {
- v := rv.Interface().(map[float32]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat32(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat32Float32(rv reflect.Value) {
- v := rv.Interface().(map[float32]float32)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat32(k2)
- f.ee.encodeFloat32(v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat64Intf(rv reflect.Value) {
- v := rv.Interface().(map[float64]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat64(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat64String(rv reflect.Value) {
- v := rv.Interface().(map[float64]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat64(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapFloat64Float64(rv reflect.Value) {
- v := rv.Interface().(map[float64]float64)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeFloat64(k2)
- f.ee.encodeFloat64(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUintIntf(rv reflect.Value) {
- v := rv.Interface().(map[uint]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUintString(rv reflect.Value) {
- v := rv.Interface().(map[uint]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapUintUint(rv reflect.Value) {
- v := rv.Interface().(map[uint]uint)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapUint8Intf(rv reflect.Value) {
- v := rv.Interface().(map[uint8]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint8String(rv reflect.Value) {
- v := rv.Interface().(map[uint8]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint8Uint8(rv reflect.Value) {
- v := rv.Interface().(map[uint8]uint8)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapUint16Intf(rv reflect.Value) {
- v := rv.Interface().(map[uint16]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint16String(rv reflect.Value) {
- v := rv.Interface().(map[uint16]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint16Uint16(rv reflect.Value) {
- v := rv.Interface().(map[uint16]uint16)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapUint32Intf(rv reflect.Value) {
- v := rv.Interface().(map[uint32]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint32String(rv reflect.Value) {
- v := rv.Interface().(map[uint32]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint32Uint32(rv reflect.Value) {
- v := rv.Interface().(map[uint32]uint32)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint64Intf(rv reflect.Value) {
- v := rv.Interface().(map[uint64]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint64String(rv reflect.Value) {
- v := rv.Interface().(map[uint64]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapUint64Uint64(rv reflect.Value) {
- v := rv.Interface().(map[uint64]uint64)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeUint(uint64(k2))
- f.ee.encodeUint(uint64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapIntIntf(rv reflect.Value) {
- v := rv.Interface().(map[int]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapIntString(rv reflect.Value) {
- v := rv.Interface().(map[int]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapIntInt(rv reflect.Value) {
- v := rv.Interface().(map[int]int)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapInt8Intf(rv reflect.Value) {
- v := rv.Interface().(map[int8]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt8String(rv reflect.Value) {
- v := rv.Interface().(map[int8]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt8Int8(rv reflect.Value) {
- v := rv.Interface().(map[int8]int8)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapInt16Intf(rv reflect.Value) {
- v := rv.Interface().(map[int16]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt16String(rv reflect.Value) {
- v := rv.Interface().(map[int16]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt16Int16(rv reflect.Value) {
- v := rv.Interface().(map[int16]int16)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapInt32Intf(rv reflect.Value) {
- v := rv.Interface().(map[int32]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt32String(rv reflect.Value) {
- v := rv.Interface().(map[int32]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt32Int32(rv reflect.Value) {
- v := rv.Interface().(map[int32]int32)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.e.encode(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt64Intf(rv reflect.Value) {
- v := rv.Interface().(map[int64]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt64String(rv reflect.Value) {
- v := rv.Interface().(map[int64]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapInt64Int64(rv reflect.Value) {
- v := rv.Interface().(map[int64]int64)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeInt(int64(k2))
- f.ee.encodeInt(int64(v2))
- }
- }
- func (f *encFnInfo) fastEncMapBoolIntf(rv reflect.Value) {
- v := rv.Interface().(map[bool]interface{})
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeBool(k2)
- f.e.encode(v2)
- }
- }
- func (f *encFnInfo) fastEncMapBoolString(rv reflect.Value) {
- v := rv.Interface().(map[bool]string)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeBool(k2)
- f.ee.encodeString(c_UTF8, v2)
- }
- }
- func (f *encFnInfo) fastEncMapBoolBool(rv reflect.Value) {
- v := rv.Interface().(map[bool]bool)
- f.ee.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- f.ee.encodeBool(k2)
- f.ee.encodeBool(v2)
- }
- }
- // -- decode
- func (f *decFnInfo) fastDecSliceIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]interface{})
- var s []interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]interface{}, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]interface{}, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.d.decode(&s[j])
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceString(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]string)
- var s []string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]string, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]string, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = f.dd.decodeString()
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceFloat32(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]float32)
- var s []float32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]float32, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]float32, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = float32(f.dd.decodeFloat(true))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceFloat64(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]float64)
- var s []float64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]float64, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]float64, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = f.dd.decodeFloat(false)
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceUint(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]uint)
- var s []uint
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]uint, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]uint, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = uint(f.dd.decodeUint(uintBitsize))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceUint16(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]uint16)
- var s []uint16
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]uint16, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]uint16, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = uint16(f.dd.decodeUint(16))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceUint32(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]uint32)
- var s []uint32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]uint32, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]uint32, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = uint32(f.dd.decodeUint(32))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceUint64(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]uint64)
- var s []uint64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]uint64, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]uint64, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = f.dd.decodeUint(64)
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceInt(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]int)
- var s []int
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]int, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = int(f.dd.decodeInt(intBitsize))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceInt8(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]int8)
- var s []int8
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]int8, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int8, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = int8(f.dd.decodeInt(8))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceInt16(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]int16)
- var s []int16
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]int16, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int16, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = int16(f.dd.decodeInt(16))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceInt32(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]int32)
- var s []int32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]int32, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int32, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = int32(f.dd.decodeInt(32))
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceInt64(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]int64)
- var s []int64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]int64, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int64, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = f.dd.decodeInt(64)
- }
- *v = s
- }
- func (f *decFnInfo) fastDecSliceBool(rv reflect.Value) {
- v := rv.Addr().Interface().(*[]bool)
- var s []bool
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = s
- return
- }
- _, containerLenS := decContLens(f.dd, vtype)
- s = *v
- if s == nil {
- s = make([]bool, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if f.array {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]bool, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- f.dd.initReadNext()
- s[j] = f.dd.decodeBool()
- }
- *v = s
- }
- func (f *decFnInfo) fastDecMapIntfIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[interface{}]interface{})
- var m map[interface{}]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[interface{}]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- var mk interface{}
- f.d.decode(&mk)
- // special case if a byte array.
- if bv, bok := mk.([]byte); bok {
- mk = string(bv)
- }
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapIntfString(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[interface{}]string)
- var m map[interface{}]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[interface{}]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- var mk interface{}
- f.d.decode(&mk)
- // special case if a byte array.
- if bv, bok := mk.([]byte); bok {
- mk = string(bv)
- }
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapStringIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[string]interface{})
- var m map[string]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[string]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeString()
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapStringString(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[string]string)
- var m map[string]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[string]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeString()
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat32Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float32]interface{})
- var m map[float32]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float32]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := float32(f.dd.decodeFloat(true))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat32String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float32]string)
- var m map[float32]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float32]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := float32(f.dd.decodeFloat(true))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat32Float32(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float32]float32)
- var m map[float32]float32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float32]float32, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := float32(f.dd.decodeFloat(true))
- mv := m[mk]
- f.dd.initReadNext()
- mv = float32(f.dd.decodeFloat(true))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat64Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float64]interface{})
- var m map[float64]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float64]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeFloat(false)
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat64String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float64]string)
- var m map[float64]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float64]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeFloat(false)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapFloat64Float64(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[float64]float64)
- var m map[float64]float64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[float64]float64, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeFloat(false)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeFloat(false)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUintIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint]interface{})
- var m map[uint]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint(f.dd.decodeUint(uintBitsize))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUintString(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint]string)
- var m map[uint]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint(f.dd.decodeUint(uintBitsize))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUintUint(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint]uint)
- var m map[uint]uint
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint]uint, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint(f.dd.decodeUint(uintBitsize))
- mv := m[mk]
- f.dd.initReadNext()
- mv = uint(f.dd.decodeUint(uintBitsize))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint8Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint8]interface{})
- var m map[uint8]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint8]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint8(f.dd.decodeUint(8))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint8String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint8]string)
- var m map[uint8]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint8]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint8(f.dd.decodeUint(8))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint8Uint8(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint8]uint8)
- var m map[uint8]uint8
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint8]uint8, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint8(f.dd.decodeUint(8))
- mv := m[mk]
- f.dd.initReadNext()
- mv = uint8(f.dd.decodeUint(8))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint16Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint16]interface{})
- var m map[uint16]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint16]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint16(f.dd.decodeUint(16))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint16String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint16]string)
- var m map[uint16]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint16]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint16(f.dd.decodeUint(16))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint16Uint16(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint16]uint16)
- var m map[uint16]uint16
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint16]uint16, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint16(f.dd.decodeUint(16))
- mv := m[mk]
- f.dd.initReadNext()
- mv = uint16(f.dd.decodeUint(16))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint32Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint32]interface{})
- var m map[uint32]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint32]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint32(f.dd.decodeUint(32))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint32String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint32]string)
- var m map[uint32]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint32]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint32(f.dd.decodeUint(32))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint32Uint32(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint32]uint32)
- var m map[uint32]uint32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint32]uint32, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := uint32(f.dd.decodeUint(32))
- mv := m[mk]
- f.dd.initReadNext()
- mv = uint32(f.dd.decodeUint(32))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint64Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint64]interface{})
- var m map[uint64]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint64]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeUint(64)
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint64String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint64]string)
- var m map[uint64]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint64]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeUint(64)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapUint64Uint64(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[uint64]uint64)
- var m map[uint64]uint64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[uint64]uint64, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeUint(64)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeUint(64)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapIntIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int]interface{})
- var m map[int]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int(f.dd.decodeInt(intBitsize))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapIntString(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int]string)
- var m map[int]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int(f.dd.decodeInt(intBitsize))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapIntInt(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int]int)
- var m map[int]int
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int]int, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int(f.dd.decodeInt(intBitsize))
- mv := m[mk]
- f.dd.initReadNext()
- mv = int(f.dd.decodeInt(intBitsize))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt8Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int8]interface{})
- var m map[int8]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int8]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int8(f.dd.decodeInt(8))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt8String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int8]string)
- var m map[int8]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int8]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int8(f.dd.decodeInt(8))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt8Int8(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int8]int8)
- var m map[int8]int8
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int8]int8, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int8(f.dd.decodeInt(8))
- mv := m[mk]
- f.dd.initReadNext()
- mv = int8(f.dd.decodeInt(8))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt16Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int16]interface{})
- var m map[int16]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int16]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int16(f.dd.decodeInt(16))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt16String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int16]string)
- var m map[int16]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int16]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int16(f.dd.decodeInt(16))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt16Int16(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int16]int16)
- var m map[int16]int16
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int16]int16, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int16(f.dd.decodeInt(16))
- mv := m[mk]
- f.dd.initReadNext()
- mv = int16(f.dd.decodeInt(16))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt32Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int32]interface{})
- var m map[int32]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int32]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int32(f.dd.decodeInt(32))
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt32String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int32]string)
- var m map[int32]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int32]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int32(f.dd.decodeInt(32))
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt32Int32(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int32]int32)
- var m map[int32]int32
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int32]int32, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := int32(f.dd.decodeInt(32))
- mv := m[mk]
- f.dd.initReadNext()
- mv = int32(f.dd.decodeInt(32))
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt64Intf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int64]interface{})
- var m map[int64]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int64]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeInt(64)
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt64String(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int64]string)
- var m map[int64]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int64]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeInt(64)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapInt64Int64(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[int64]int64)
- var m map[int64]int64
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[int64]int64, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeInt(64)
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeInt(64)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapBoolIntf(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[bool]interface{})
- var m map[bool]interface{}
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[bool]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeBool()
- mv := m[mk]
- f.d.decode(&mv)
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapBoolString(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[bool]string)
- var m map[bool]string
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[bool]string, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeBool()
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeString()
- m[mk] = mv
- }
- }
- func (f *decFnInfo) fastDecMapBoolBool(rv reflect.Value) {
- v := rv.Addr().Interface().(*map[bool]bool)
- var m map[bool]bool
- vtype := f.dd.currentEncodedType()
- if vtype == valueTypeNil {
- *v = m
- return
- }
- containerLen := f.dd.readMapLen()
- m = *v
- if m == nil {
- m = make(map[bool]bool, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- f.dd.initReadNext()
- mk := f.dd.decodeBool()
- mv := m[mk]
- f.dd.initReadNext()
- mv = f.dd.decodeBool()
- m[mk] = mv
- }
- }
|