MCPcopy Create free account
hub / github.com/apache/fory / writeValues

Method writeValues

go/fory/slice_primitive_list.go:112–141  ·  view source on GitHub ↗
(buf *ByteBuffer, value reflect.Value)

Source from the content-addressed store, hash-verified

110}
111
112func (s primitiveListSerializer) writeValues(buf *ByteBuffer, value reflect.Value) {
113 switch s.type_.Elem().Kind() {
114 case reflect.Bool:
115 writeBoolListValues(buf, primitiveListSliceView[bool](value))
116 case reflect.Int8:
117 writeInt8ListValues(buf, primitiveListSliceView[int8](value))
118 case reflect.Uint8:
119 writeUint8ListValues(buf, primitiveListSliceView[byte](value))
120 case reflect.Int16:
121 writeInt16ListValues(buf, primitiveListSliceView[int16](value))
122 case reflect.Uint16:
123 writeUint16ListValues(buf, primitiveListSliceView[uint16](value))
124 case reflect.Int32:
125 writeInt32ListValues(buf, primitiveListSliceView[int32](value), s.elemTypeID)
126 case reflect.Uint32:
127 writeUint32ListValues(buf, primitiveListSliceView[uint32](value), s.elemTypeID)
128 case reflect.Int64:
129 writeInt64ListValues(buf, primitiveListSliceView[int64](value), s.elemTypeID)
130 case reflect.Uint64:
131 writeUint64ListValues(buf, primitiveListSliceView[uint64](value), s.elemTypeID)
132 case reflect.Int:
133 writeIntListValues(buf, primitiveListSliceView[int](value), s.elemTypeID)
134 case reflect.Uint:
135 writeUintListValues(buf, primitiveListSliceView[uint](value), s.elemTypeID)
136 case reflect.Float32:
137 writeFloat32ListValues(buf, primitiveListSliceView[float32](value))
138 case reflect.Float64:
139 writeFloat64ListValues(buf, primitiveListSliceView[float64](value))
140 }
141}
142
143func primitiveListSliceView[T any](value reflect.Value) []T {
144 return unsafe.Slice((*T)(value.UnsafePointer()), value.Len())

Callers 1

writeDataWithGenericsMethod · 0.95

Calls 14

writeBoolListValuesFunction · 0.85
writeInt8ListValuesFunction · 0.85
writeUint8ListValuesFunction · 0.85
writeInt16ListValuesFunction · 0.85
writeUint16ListValuesFunction · 0.85
writeInt32ListValuesFunction · 0.85
writeUint32ListValuesFunction · 0.85
writeInt64ListValuesFunction · 0.85
writeUint64ListValuesFunction · 0.85
writeIntListValuesFunction · 0.85
writeUintListValuesFunction · 0.85
writeFloat32ListValuesFunction · 0.85

Tested by

no test coverage detected