Source File
hostlayout.go
Belonging Package
structs
// Copyright 2024 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 structs// HostLayout marks a struct as using host memory layout. A struct with a// field of type HostLayout will be laid out in memory according to host// expectations, generally following the host's C ABI.//// HostLayout does not affect layout within any other struct-typed fields// of the containing struct, nor does it affect layout of structs// containing the struct marked as host layout.//// By convention, HostLayout should be used as the type of a field// named "_", placed at the beginning of the struct type definition.type HostLayout struct {_ hostLayout // prevent accidental conversion with plain struct{}}// We use an unexported type within the exported type to give the marker// type itself, rather than merely its name, a recognizable identity in// the type system. The main consequence of this is that a user can give// the type a new name and it will still have the same properties, e.g.,//// type HL structs.HostLayout//// It also prevents unintentional conversion of struct{} to a named marker type.type hostLayout struct {}
![]() |
The pages are generated with Golds v0.7.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |