kubernetes/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go

const unsafeAllowed

type field

// toField returns a field equivalent to the given reflect field.
func toField(f *reflect.StructField) field {}

const invalidField

const zeroField

// IsValid reports whether the field identifier is valid.
func (f field) IsValid() bool {}

type pointer

var ptrSize

// toPointer converts an interface of pointer type to a pointer
// that points to the same target.
func toPointer(i *Message) pointer {}

// toAddrPointer converts an interface to a pointer that points to
// the interface data.
func toAddrPointer(i *interface{}

// valToPointer converts v to a pointer. v must be of pointer type.
func valToPointer(v reflect.Value) pointer {}

// offset converts from a pointer to a structure to a pointer to
// one of its fields.
func (p pointer) offset(f field) pointer {}

func (p pointer) isNil() bool {}

func (p pointer) toInt64() *int64 {}

func (p pointer) toInt64Ptr() **int64 {}

func (p pointer) toInt64Slice() *[]int64 {}

func (p pointer) toInt32() *int32 {}

// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist.
/*
	func (p pointer) toInt32Ptr() **int32 {
		return (**int32)(p.p)
	}
	func (p pointer) toInt32Slice() *[]int32 {
		return (*[]int32)(p.p)
	}
*/
func (p pointer) getInt32Ptr() *int32 {}

func (p pointer) setInt32Ptr(v int32) {}

// getInt32Slice loads a []int32 from p.
// The value returned is aliased with the original slice.
// This behavior differs from the implementation in pointer_reflect.go.
func (p pointer) getInt32Slice() []int32 {}

// setInt32Slice stores a []int32 to p.
// The value set is aliased with the input slice.
// This behavior differs from the implementation in pointer_reflect.go.
func (p pointer) setInt32Slice(v []int32) {}

// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead?
func (p pointer) appendInt32Slice(v int32) {}

func (p pointer) toUint64() *uint64 {}

func (p pointer) toUint64Ptr() **uint64 {}

func (p pointer) toUint64Slice() *[]uint64 {}

func (p pointer) toUint32() *uint32 {}

func (p pointer) toUint32Ptr() **uint32 {}

func (p pointer) toUint32Slice() *[]uint32 {}

func (p pointer) toBool() *bool {}

func (p pointer) toBoolPtr() **bool {}

func (p pointer) toBoolSlice() *[]bool {}

func (p pointer) toFloat64() *float64 {}

func (p pointer) toFloat64Ptr() **float64 {}

func (p pointer) toFloat64Slice() *[]float64 {}

func (p pointer) toFloat32() *float32 {}

func (p pointer) toFloat32Ptr() **float32 {}

func (p pointer) toFloat32Slice() *[]float32 {}

func (p pointer) toString() *string {}

func (p pointer) toStringPtr() **string {}

func (p pointer) toStringSlice() *[]string {}

func (p pointer) toBytes() *[]byte {}

func (p pointer) toBytesSlice() *[][]byte {}

func (p pointer) toExtensions() *XXX_InternalExtensions {}

func (p pointer) toOldExtensions() *map[int32]Extension {}

// getPointerSlice loads []*T from p as a []pointer.
// The value returned is aliased with the original slice.
// This behavior differs from the implementation in pointer_reflect.go.
func (p pointer) getPointerSlice() []pointer {}

// setPointerSlice stores []pointer into p as a []*T.
// The value set is aliased with the input slice.
// This behavior differs from the implementation in pointer_reflect.go.
func (p pointer) setPointerSlice(v []pointer) {}

// getPointer loads the pointer at p and returns it.
func (p pointer) getPointer() pointer {}

// setPointer stores the pointer q at p.
func (p pointer) setPointer(q pointer) {}

// append q to the slice pointed to by p.
func (p pointer) appendPointer(q pointer) {}

// getInterfacePointer returns a pointer that points to the
// interface data of the interface pointed by p.
func (p pointer) getInterfacePointer() pointer {}

// asPointerTo returns a reflect.Value that is a pointer to an
// object of type t stored at p.
func (p pointer) asPointerTo(t reflect.Type) reflect.Value {}

func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {}

func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {}

func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {}

func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {}

func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {}

func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {}

func atomicLoadDiscardInfo(p **discardInfo) *discardInfo {}

func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {}