(buf *ByteBuffer, value reflect.Value)
| 110 | } |
| 111 | |
| 112 | func (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 | |
| 143 | func primitiveListSliceView[T any](value reflect.Value) []T { |
| 144 | return unsafe.Slice((*T)(value.UnsafePointer()), value.Len()) |
no test coverage detected