Documentation
¶
Index ¶
- func Addr(src interface{}) unsafe.Pointer
- func AsBool(pointer unsafe.Pointer) bool
- func AsBoolPtr(pointer unsafe.Pointer) *bool
- func AsBoolPtrs(pointer unsafe.Pointer) []*bool
- func AsBools(pointer unsafe.Pointer) []bool
- func AsFloat32(pointer unsafe.Pointer) float32
- func AsFloat32Ptr(pointer unsafe.Pointer) *float32
- func AsFloat32Ptrs(pointer unsafe.Pointer) []*float32
- func AsFloat32s(pointer unsafe.Pointer) []float32
- func AsFloat64(pointer unsafe.Pointer) float64
- func AsFloat64Ptr(pointer unsafe.Pointer) *float64
- func AsFloat64Ptrs(pointer unsafe.Pointer) []*float64
- func AsFloat64s(pointer unsafe.Pointer) []float64
- func AsInt(pointer unsafe.Pointer) int
- func AsInt16(pointer unsafe.Pointer) int16
- func AsInt16Ptr(pointer unsafe.Pointer) *int16
- func AsInt16Ptrs(pointer unsafe.Pointer) []*int16
- func AsInt16s(pointer unsafe.Pointer) []int16
- func AsInt32(pointer unsafe.Pointer) int32
- func AsInt32Ptr(pointer unsafe.Pointer) *int32
- func AsInt32Ptrs(pointer unsafe.Pointer) []*int32
- func AsInt32s(pointer unsafe.Pointer) []int32
- func AsInt64(pointer unsafe.Pointer) int64
- func AsInt64Ptr(pointer unsafe.Pointer) *int64
- func AsInt64Ptrs(pointer unsafe.Pointer) []*int64
- func AsInt64s(pointer unsafe.Pointer) []int64
- func AsInt8(pointer unsafe.Pointer) int8
- func AsInt8Ptr(pointer unsafe.Pointer) *int8
- func AsInt8Ptrs(pointer unsafe.Pointer) []*int8
- func AsInt8s(pointer unsafe.Pointer) []int8
- func AsIntPtr(pointer unsafe.Pointer) *int
- func AsIntPtrs(pointer unsafe.Pointer) []*int
- func AsInterface(pointer unsafe.Pointer) interface{}
- func AsInterfaces(pointer unsafe.Pointer) []interface{}
- func AsInts(pointer unsafe.Pointer) []int
- func AsMap(pointer unsafe.Pointer) map[interface{}]interface{}
- func AsStringMap(pointer unsafe.Pointer) map[string]interface{}
- func AsTime(pointer unsafe.Pointer) time.Time
- func AsTimePtr(pointer unsafe.Pointer) *time.Time
- func AsTyped(destType reflect.Type) func(pointer unsafe.Pointer) interface{}
- func AsUInt(pointer unsafe.Pointer) uint
- func AsUInt16(pointer unsafe.Pointer) uint16
- func AsUInt16Ptr(pointer unsafe.Pointer) *uint16
- func AsUInt16Ptrs(pointer unsafe.Pointer) []*uint16
- func AsUInt16s(pointer unsafe.Pointer) []uint16
- func AsUInt32(pointer unsafe.Pointer) uint32
- func AsUInt32Ptr(pointer unsafe.Pointer) *uint32
- func AsUInt32Ptrs(pointer unsafe.Pointer) []*uint32
- func AsUInt32s(pointer unsafe.Pointer) []uint32
- func AsUInt64(pointer unsafe.Pointer) uint64
- func AsUInt64Ptr(pointer unsafe.Pointer) *uint64
- func AsUInt64Ptrs(pointer unsafe.Pointer) []*uint64
- func AsUInt64s(pointer unsafe.Pointer) []uint64
- func AsUInt8(pointer unsafe.Pointer) uint8
- func AsUInt8Ptr(pointer unsafe.Pointer) *uint8
- func AsUInt8Ptrs(pointer unsafe.Pointer) []*uint8
- func AsUInt8s(pointer unsafe.Pointer) []uint8
- func AsUIntPtr(pointer unsafe.Pointer) *uint
- func AsUIntPtrs(pointer unsafe.Pointer) []*uint
- func AsUInts(pointer unsafe.Pointer) []uint
- func DereferencePointer(pointer unsafe.Pointer) unsafe.Pointer
- func Register(aType reflect.Type, getter Getter)
- type Appender
- type Field
- func (f *Field) Addr(structAddr unsafe.Pointer) interface{}
- func (f *Field) AddrGetter() Getter
- func (f *Field) Bool(structAddr unsafe.Pointer) bool
- func (f *Field) BoolAddr(structAddr unsafe.Pointer) *bool
- func (f *Field) BoolPtr(structAddr unsafe.Pointer) *bool
- func (f *Field) Bytes(structAddr unsafe.Pointer) []byte
- func (f *Field) BytesAddr(structAddr unsafe.Pointer) *[]byte
- func (f *Field) BytesPtr(structAddr unsafe.Pointer) *[]byte
- func (f *Field) Float32(structAddr unsafe.Pointer) float32
- func (f *Field) Float32Addr(structAddr unsafe.Pointer) *float32
- func (f *Field) Float32Ptr(structAddr unsafe.Pointer) *float32
- func (f *Field) Float64(structAddr unsafe.Pointer) float64
- func (f *Field) Float64Addr(structAddr unsafe.Pointer) *float64
- func (f *Field) Float64Ptr(structAddr unsafe.Pointer) *float64
- func (f *Field) Int(structAddr unsafe.Pointer) int
- func (f *Field) Int16(structAddr unsafe.Pointer) int16
- func (f *Field) Int16Addr(structAddr unsafe.Pointer) *int16
- func (f *Field) Int16Ptr(structAddr unsafe.Pointer) *int16
- func (f *Field) Int32(structAddr unsafe.Pointer) int32
- func (f *Field) Int32Addr(structAddr unsafe.Pointer) *int32
- func (f *Field) Int32Ptr(structAddr unsafe.Pointer) *int32
- func (f *Field) Int64(structAddr unsafe.Pointer) int64
- func (f *Field) Int64Addr(structAddr unsafe.Pointer) *int64
- func (f *Field) Int64Ptr(structAddr unsafe.Pointer) *int64
- func (f *Field) Int8(structAddr unsafe.Pointer) int8
- func (f *Field) Int8Addr(structAddr unsafe.Pointer) *int8
- func (f *Field) Int8Ptr(structAddr unsafe.Pointer) *int8
- func (f *Field) IntAddr(structAddr unsafe.Pointer) *int
- func (f *Field) IntPtr(structAddr unsafe.Pointer) *int
- func (f *Field) Interface(structAddr unsafe.Pointer) interface{}
- func (f *Field) InterfaceSlice(structAddr unsafe.Pointer) interface{}
- func (f *Field) PtrSliceBool(structAddr unsafe.Pointer) *[]bool
- func (f *Field) PtrSliceFloat32(structAddr unsafe.Pointer) *[]float32
- func (f *Field) PtrSliceFloat64(structAddr unsafe.Pointer) *[]float64
- func (f *Field) PtrSliceInt16(structAddr unsafe.Pointer) *[]int16
- func (f *Field) PtrSliceInt32(structAddr unsafe.Pointer) *[]int32
- func (f *Field) PtrSliceInt64(structAddr unsafe.Pointer) *[]int64
- func (f *Field) PtrSliceInt8(structAddr unsafe.Pointer) *[]int8
- func (f *Field) PtrSliceString(structAddr unsafe.Pointer) *[]string
- func (f *Field) PtrSliceUInt16(structAddr unsafe.Pointer) *[]uint16
- func (f *Field) PtrSliceUInt32(structAddr unsafe.Pointer) *[]uint32
- func (f *Field) PtrSliceUInt64(structAddr unsafe.Pointer) *[]uint64
- func (f *Field) PtrSliceUInt8(structAddr unsafe.Pointer) *[]uint8
- func (f *Field) PtrSliceUint(structAddr unsafe.Pointer) *[]uint
- func (f *Field) Set(structAddr unsafe.Pointer, v interface{})
- func (f *Field) SetBool(structAddr unsafe.Pointer, val bool)
- func (f *Field) SetBoolPtr(structAddr unsafe.Pointer, val *bool)
- func (f *Field) SetBytes(structAddr unsafe.Pointer, val []byte)
- func (f *Field) SetBytesPtr(structAddr unsafe.Pointer, val *[]byte)
- func (f *Field) SetFloat32(structAddr unsafe.Pointer, val float32)
- func (f *Field) SetFloat32Ptr(structAddr unsafe.Pointer, val *float32)
- func (f *Field) SetFloat64(structAddr unsafe.Pointer, val float64)
- func (f *Field) SetFloat64Ptr(structAddr unsafe.Pointer, val *float64)
- func (f *Field) SetInt(structAddr unsafe.Pointer, val int)
- func (f *Field) SetInt16(structAddr unsafe.Pointer, val int16)
- func (f *Field) SetInt16Ptr(structAddr unsafe.Pointer, val *int16)
- func (f *Field) SetInt32(structAddr unsafe.Pointer, val int32)
- func (f *Field) SetInt32Ptr(structAddr unsafe.Pointer, val *int32)
- func (f *Field) SetInt64(structAddr unsafe.Pointer, val int64)
- func (f *Field) SetInt64Ptr(structAddr unsafe.Pointer, val *int64)
- func (f *Field) SetInt8(structAddr unsafe.Pointer, val int8)
- func (f *Field) SetInt8Ptr(structAddr unsafe.Pointer, val *int8)
- func (f *Field) SetIntPtr(structAddr unsafe.Pointer, val *int)
- func (f *Field) SetInterface(structAddr unsafe.Pointer, val interface{})
- func (f *Field) SetString(structAddr unsafe.Pointer, val string)
- func (f *Field) SetStringPtr(structAddr unsafe.Pointer, val *string)
- func (f *Field) SetTime(structAddr unsafe.Pointer, val time.Time)
- func (f *Field) SetTimePtr(structAddr unsafe.Pointer, val *time.Time)
- func (f *Field) SetUint(structAddr unsafe.Pointer, val uint)
- func (f *Field) SetUint16(structAddr unsafe.Pointer, val uint16)
- func (f *Field) SetUint16Ptr(structAddr unsafe.Pointer, val *uint16)
- func (f *Field) SetUint32(structAddr unsafe.Pointer, val uint32)
- func (f *Field) SetUint32Ptr(structAddr unsafe.Pointer, val *uint32)
- func (f *Field) SetUint64(structAddr unsafe.Pointer, val uint64)
- func (f *Field) SetUint64Ptr(structAddr unsafe.Pointer, val *uint64)
- func (f *Field) SetUint8(structAddr unsafe.Pointer, val uint8)
- func (f *Field) SetUint8Ptr(structAddr unsafe.Pointer, val *uint8)
- func (f *Field) SetUintPtr(structAddr unsafe.Pointer, val *uint)
- func (f *Field) SetValue(structAddr unsafe.Pointer, val interface{})
- func (f *Field) SliceBool(structAddr unsafe.Pointer) []bool
- func (f *Field) SliceFloat32(structAddr unsafe.Pointer) []float32
- func (f *Field) SliceFloat64(structAddr unsafe.Pointer) []float64
- func (f *Field) SliceInt(structAddr unsafe.Pointer) []int
- func (f *Field) SliceInt16(structAddr unsafe.Pointer) []int16
- func (f *Field) SliceInt32(structAddr unsafe.Pointer) []int32
- func (f *Field) SliceInt64(structAddr unsafe.Pointer) []int64
- func (f *Field) SliceInt8(structAddr unsafe.Pointer) []int8
- func (f *Field) SliceString(structAddr unsafe.Pointer) []string
- func (f *Field) SliceUint(structAddr unsafe.Pointer) []uint
- func (f *Field) SliceUint16(structAddr unsafe.Pointer) []uint16
- func (f *Field) SliceUint32(structAddr unsafe.Pointer) []uint32
- func (f *Field) SliceUint64(structAddr unsafe.Pointer) []uint64
- func (f *Field) SliceUint8(structAddr unsafe.Pointer) []uint8
- func (f *Field) String(structAddr unsafe.Pointer) string
- func (f *Field) StringAddr(structAddr unsafe.Pointer) *string
- func (f *Field) StringPtr(structAddr unsafe.Pointer) *string
- func (f *Field) Time(structAddr unsafe.Pointer) time.Time
- func (f *Field) TimeAddr(structAddr unsafe.Pointer) *time.Time
- func (f *Field) TimePtr(structAddr unsafe.Pointer) *time.Time
- func (f *Field) Uint(structAddr unsafe.Pointer) uint
- func (f *Field) Uint16(structAddr unsafe.Pointer) uint16
- func (f *Field) Uint16Addr(structAddr unsafe.Pointer) *uint16
- func (f *Field) Uint16Ptr(structAddr unsafe.Pointer) *uint16
- func (f *Field) Uint32(structAddr unsafe.Pointer) uint32
- func (f *Field) Uint32Addr(structAddr unsafe.Pointer) *uint32
- func (f *Field) Uint32Ptr(structAddr unsafe.Pointer) *uint32
- func (f *Field) Uint64(structAddr unsafe.Pointer) uint64
- func (f *Field) Uint64Addr(structAddr unsafe.Pointer) *uint64
- func (f *Field) Uint64Ptr(structAddr unsafe.Pointer) *uint64
- func (f *Field) Uint8(structAddr unsafe.Pointer) uint8
- func (f *Field) Uint8Addr(structAddr unsafe.Pointer) *uint8
- func (f *Field) Uint8Ptr(structAddr unsafe.Pointer) *uint8
- func (f *Field) UintAddr(structAddr unsafe.Pointer) *uint
- func (f *Field) UintPtr(structAddr unsafe.Pointer) *uint
- func (f *Field) UnsafeAddr(structAddr unsafe.Pointer) unsafe.Pointer
- type FieldPointer
- type Getter
- type Index
- type Selector
- func (s *Selector) Bool(structAddr unsafe.Pointer) bool
- func (s *Selector) BoolAddr(structAddr unsafe.Pointer) *bool
- func (s *Selector) Float64(structAddr unsafe.Pointer) float64
- func (s *Selector) Float64Addr(structAddr unsafe.Pointer) *float64
- func (s *Selector) ISet(structAddr unsafe.Pointer, val interface{}, indexes []int)
- func (s *Selector) IValue(structAddr unsafe.Pointer, indexes []int) interface{}
- func (s *Selector) Int(structAddr unsafe.Pointer) int
- func (s *Selector) IntAddr(structAddr unsafe.Pointer) *int
- func (s *Selector) Set(structAddr unsafe.Pointer, val interface{})
- func (s *Selector) SetBool(structAddr unsafe.Pointer, val bool)
- func (s *Selector) SetFiled(field *Field)
- func (s *Selector) SetFloat64(structAddr unsafe.Pointer, val float64)
- func (s *Selector) SetInt(structAddr unsafe.Pointer, val int)
- func (s *Selector) SetString(structAddr unsafe.Pointer, val string)
- func (s *Selector) String(structAddr unsafe.Pointer) string
- func (s *Selector) StringAddr(structAddr unsafe.Pointer) *string
- func (s *Selector) Type() reflect.Type
- func (s *Selector) Value(structAddr unsafe.Pointer) interface{}
- type Setter
- type Slice
- type UseItemAddrOpt
- type ValuePointer
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Addr ¶
Addr returns src unsafe addr
Example ¶
package main import ( "fmt" "github.com/viant/xunsafe" "reflect" ) func main() { type Foo struct { ID int Name string } fooType := reflect.TypeOf(Foo{}) fooID := xunsafe.FieldByName(fooType, "ID") foo := &Foo{ID: 101, Name: "name 101"} fooAddr := xunsafe.Addr(foo) *(fooID.Addr(fooAddr).(*int)) = 201 fmt.Printf("foo.ID: %v\n", foo.ID) //prints 201 }
Output:
func AsBoolPtrs ¶ added in v0.4.0
AsBoolPtrs casts pointer to *bool slice
func AsFloat32Ptr ¶ added in v0.4.0
AsFloat32Ptr casts pointer to *int
func AsFloat32Ptrs ¶ added in v0.4.0
AsFloat32Ptrs casts pointer to *float32 slice
func AsFloat32s ¶ added in v0.4.0
AsFloat32s casts pointer to float32 slice
func AsFloat64Ptr ¶ added in v0.4.0
AsFloat64Ptr casts pointer to *int
func AsFloat64Ptrs ¶ added in v0.4.0
AsFloat64Ptrs casts pointer to *float64 slice
func AsFloat64s ¶ added in v0.4.0
AsFloat64s casts pointer to float64 slice
func AsInt16Ptr ¶ added in v0.4.0
AsInt16Ptr casts pointer to *int16
func AsInt16Ptrs ¶ added in v0.4.0
AsInt16Ptrs casts pointer to *int16 slice
func AsInt32Ptr ¶ added in v0.4.0
AsInt32Ptr casts pointer to *int32
func AsInt32Ptrs ¶ added in v0.4.0
AsInt32Ptrs casts pointer to *int32 slice
func AsInt64Ptr ¶ added in v0.4.0
AsInt64Ptr casts pointer to *int64
func AsInt64Ptrs ¶ added in v0.4.0
AsInt64Ptrs casts pointer to *int64 slice
func AsInt8Ptrs ¶ added in v0.4.0
AsInt8Ptrs casts pointer to *int8 slice
func AsInterface ¶ added in v0.4.0
AsInterface casts pointer to interface
func AsInterfaces ¶ added in v0.4.0
AsInterfaces casts pointer to interface skuce
func AsStringMap ¶ added in v0.4.0
AsStringMap casts pointer to map[string]interface
func AsUInt16Ptr ¶ added in v0.4.0
AsUInt16Ptr casts pointer to *uint
func AsUInt16Ptrs ¶ added in v0.4.0
AsUInt16Ptrs casts pointer to *uint slice
func AsUInt32Ptr ¶ added in v0.4.0
AsUInt32Ptr casts pointer to *uint
func AsUInt32Ptrs ¶ added in v0.4.0
AsUInt32Ptrs casts pointer to *uint slice
func AsUInt64Ptr ¶ added in v0.4.0
AsUInt64Ptr casts pointer to *uint
func AsUInt64Ptrs ¶ added in v0.4.0
AsUInt64Ptrs casts pointer to *uint slice
func AsUInt8Ptr ¶ added in v0.4.0
AsUInt8Ptr casts pointer to *uint
func AsUInt8Ptrs ¶ added in v0.4.0
AsUInt8Ptrs casts pointer to *uint slice
func AsUIntPtrs ¶ added in v0.4.0
AsUIntPtrs casts pointer to *uint slice
func DereferencePointer ¶ added in v0.4.0
DereferencePointer dereference pointer
Types ¶
type Appender ¶ added in v0.4.0
type Appender struct {
// contains filtered or unexported fields
}
Appender represents a slice appender
type Field ¶
type Field struct { Field *Field Value Getter Type reflect.Type // contains filtered or unexported fields }
Field represent a field
func FieldByIndex ¶
FieldByIndex creates a field for supplied struct type and field indexAddr
func FieldByName ¶
FieldByName creates a field for supplied struct type and field name
func FieldWithGetters ¶
FieldWithGetters creates a field supplied custom address, value getter
func (*Field) AddrGetter ¶
AddrGetter creates a Getter function returning filed pointer or error
func (*Field) Float32Addr ¶
Float32Addr returns field *float32 addr
func (*Field) Float32Ptr ¶
Float32Ptr returns field *float32
func (*Field) Float64Addr ¶
Float64Addr returns field *float64 addr
func (*Field) Float64Ptr ¶
Float64Ptr returns field *float64
func (*Field) InterfaceSlice ¶ added in v0.4.0
InterfaceSlice returns interface slice
func (*Field) PtrSliceBool ¶ added in v0.4.0
PtrSliceBool returns bool slice pointer
func (*Field) PtrSliceFloat32 ¶ added in v0.4.0
PtrSliceFloat32 returns float32 slice pointer
func (*Field) PtrSliceFloat64 ¶ added in v0.4.0
PtrSliceFloat64 returns float64 slice pointer
func (*Field) PtrSliceInt16 ¶ added in v0.4.0
PtrSliceInt16 returns int16 slice pointer
func (*Field) PtrSliceInt32 ¶ added in v0.4.0
PtrSliceInt32 returns int32 slice pointer
func (*Field) PtrSliceInt64 ¶ added in v0.4.0
PtrSliceInt64 returns int64 slice pointer
func (*Field) PtrSliceInt8 ¶ added in v0.4.0
PtrSliceInt8 returns int8 slice pointer
func (*Field) PtrSliceString ¶ added in v0.4.0
PtrSliceString returns string slice pointer
func (*Field) PtrSliceUInt16 ¶ added in v0.4.0
PtrSliceUInt16 returns uint16 slice pointer
func (*Field) PtrSliceUInt32 ¶ added in v0.4.0
PtrSliceUInt32 returns uint32 slice pointer
func (*Field) PtrSliceUInt64 ¶ added in v0.4.0
PtrSliceUInt64 returns uint64 slice pointer
func (*Field) PtrSliceUInt8 ¶ added in v0.4.0
PtrSliceUInt8 returns uint8 slice pointer
func (*Field) PtrSliceUint ¶ added in v0.4.0
PtrSliceUint returns uint slice pointer
func (*Field) SetBoolPtr ¶
SetBoolPtr sets field *bool
func (*Field) SetBytesPtr ¶
SetBytesPtr sets field *[]byte
func (*Field) SetFloat32 ¶
SetFloat32 sets field float32
func (*Field) SetFloat32Ptr ¶
SetFloat32Ptr sets field *float32
func (*Field) SetFloat64 ¶
SetFloat64 sets field float64
func (*Field) SetFloat64Ptr ¶
SetFloat64Ptr sets field *float64
func (*Field) SetInt16Ptr ¶
SetInt16Ptr sets field *int
func (*Field) SetInt32Ptr ¶
SetInt32Ptr sets field *int
func (*Field) SetInt64Ptr ¶
SetInt64Ptr sets field *int
func (*Field) SetInt8Ptr ¶
SetInt8Ptr sets field *int
func (*Field) SetInterface ¶
SetInterface set field interface{}
func (*Field) SetStringPtr ¶
SetStringPtr sets field *string
func (*Field) SetTimePtr ¶
SetTimePtr sets field *time.Time
func (*Field) SetUint16Ptr ¶
SetUint16Ptr sets field *uint
func (*Field) SetUint32Ptr ¶
SetUint32Ptr sets field *uint
func (*Field) SetUint64Ptr ¶
SetUint64Ptr sets field *uint
func (*Field) SetUint8Ptr ¶
SetUint8Ptr sets field *uint
func (*Field) SetUintPtr ¶
SetUintPtr sets field *uint
func (*Field) SliceFloat32 ¶ added in v0.4.0
SliceFloat32 returns float32 slice
func (*Field) SliceFloat64 ¶ added in v0.4.0
SliceFloat64 returns float64 slice
func (*Field) SliceInt16 ¶ added in v0.4.0
SliceInt16 returns int16 slice
func (*Field) SliceInt32 ¶ added in v0.4.0
SliceInt32 returns int32 slice
func (*Field) SliceInt64 ¶ added in v0.4.0
SliceInt64 returns int64 slice
func (*Field) SliceString ¶ added in v0.4.0
SliceString returns string slice
func (*Field) SliceUint16 ¶ added in v0.4.0
SliceUint16 returns uint16 slice
func (*Field) SliceUint32 ¶ added in v0.4.0
SliceUint32 returns uint32 slice
func (*Field) SliceUint64 ¶ added in v0.4.0
SliceUint64 returns uint64 slice
func (*Field) SliceUint8 ¶ added in v0.4.0
SliceUint8 returns uint8 slice
func (*Field) StringAddr ¶
StringAddr returns field *string addr
func (*Field) Uint16Addr ¶
Uint16Addr returns field *uint16 addr
func (*Field) Uint32Addr ¶
Uint32Addr returns field *uint32 addr
func (*Field) Uint64Addr ¶
Uint64Addr returns field *uint64 addr
type FieldPointer ¶ added in v0.4.0
FieldPointer represents a field pointer
type Getter ¶
Getter represents a func returning field value pointer, it takes holder address
func FieldAccessor ¶ added in v0.4.0
type Index ¶ added in v0.4.0
Index returns item pointer for supplied indexByAddr (see useItemAddr slice option)
type Selector ¶ added in v0.4.0
type Selector struct {
// contains filtered or unexported fields
}
Selector represents nested abstraction selector
func NewSelector ¶ added in v0.4.0
NewSelector creates a selector for supplied expression
func (*Selector) Float64Addr ¶ added in v0.4.0
Float64Addr returns field *float64 address
func (*Selector) SetFloat64 ¶ added in v0.4.0
SetFloat64 sets int value
func (*Selector) StringAddr ¶ added in v0.4.0
StringAddr returns field *string addr
type Slice ¶ added in v0.2.0
Slice represents a slice
type UseItemAddrOpt ¶ added in v0.4.0
type UseItemAddrOpt bool
UseItemAddrOpt option that instructs implementation to use item address as **T for []*T or *T for []T, otherwise *T would be used
type ValuePointer ¶ added in v0.4.0
ValuePointer cast generic value ptr to unsafe pointer
func ValuePointerForType ¶ added in v0.4.0
func ValuePointerForType(t reflect.Type) ValuePointer
ValuePointerForType returns function casting interface to unsafe.Pointer for supplied type