31 lines
		
	
	
		
			913 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 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
 | |
| }
 |