package bitfield
import "golang.org/x/text/internal/gen/bitfield"
Package bitfield converts annotated structs into integer values.
Any field that is marked with a bitfield tag is compacted. The tag value has two parts. The part before the comma determines the method name for a generated type. If left blank the name of the field is used. The part after the comma determines the number of bits to use for the representation.
Index ¶
- func Gen(w io.Writer, x interface{}, c *Config) error
- func Pack(x interface{}, c *Config) (packed uint64, err error)
- type Config
Functions ¶
func Gen ¶
Gen generates code for unpacking integers created with Pack.
func Pack ¶
Pack packs annotated bit ranges of struct x in an integer.
Only fields that have a "bitfield" tag are compacted.
Types ¶
type Config ¶
type Config struct { // NumBits fixes the maximum allowed bits for the integer representation. // If NumBits is not 8, 16, 32, or 64, the actual underlying integer size // will be the next largest available. NumBits uint // If Package is set, code generation will write a package clause. Package string // TypeName is the name for the generated type. By default it is the name // of the type of the value passed to Gen. TypeName string }
Config determines settings for packing and generation. If a Config is used, the same Config should be used for packing and generation.
Source Files ¶
bitfield.go
- Version
- v0.22.0 (latest)
- Published
- Feb 4, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 1 day ago –
Tools for package owners.