text: golang.org/x/text/internal/gen/bitfield Index | Files

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.


Package Files


func Gen Uses

func Gen(w io.Writer, x interface{}, c *Config) error

Gen generates code for unpacking integers created with Pack.

func Pack Uses

func Pack(x interface{}, c *Config) (packed uint64, err error)

Pack packs annotated bit ranges of struct x in an integer.

Only fields that have a "bitfield" tag are compacted.

type Config Uses

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.

Package bitfield imports 6 packages (graph). Updated 2020-12-08. Refresh now. Tools for package owners.