30 lines
913 B
Go
30 lines
913 B
Go
// Copyright 2020 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package unsafeheader contains header declarations for the Go runtime's
|
|
// slice and string implementations.
|
|
//
|
|
// This package allows x/sys to use types equivalent to
|
|
// reflect.SliceHeader and reflect.StringHeader without introducing
|
|
// a dependency on the (relatively heavy) "reflect" package.
|
|
package unsafeheader
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// Slice is the runtime representation of a slice.
|
|
// It cannot be used safely or portably and its representation may change in a later release.
|
|
type Slice struct {
|
|
Data unsafe.Pointer
|
|
Len int
|
|
Cap int
|
|
}
|
|
|
|
// String is the runtime representation of a string.
|
|
// It cannot be used safely or portably and its representation may change in a later release.
|
|
type String struct {
|
|
Data unsafe.Pointer
|
|
Len int
|
|
}
|