package bitmask

import "k8s.io/kubernetes/pkg/kubelet/cm/topologymanager/bitmask"

Index

Functions

func IterateBitMasks

func IterateBitMasks(bits []int, callback func(BitMask))

IterateBitMasks iterates all possible masks from a list of bits, issuing a callback on each mask.

Types

type BitMask

type BitMask interface {
	Add(bits ...int) error
	Remove(bits ...int) error
	And(masks ...BitMask)
	Or(masks ...BitMask)
	Clear()
	Fill()
	IsEqual(mask BitMask) bool
	IsEmpty() bool
	IsSet(bit int) bool
	AnySet(bits []int) bool
	IsNarrowerThan(mask BitMask) bool
	IsLessThan(mask BitMask) bool
	IsGreaterThan(mask BitMask) bool
	String() string
	Count() int
	GetBits() []int
}

BitMask interface allows hint providers to create BitMasks for TopologyHints

func And

func And(first BitMask, masks ...BitMask) BitMask

And is a package level implementation of 'and' between first and masks

func NewBitMask

func NewBitMask(bits ...int) (BitMask, error)

NewBitMask creates a new BitMask

func NewEmptyBitMask

func NewEmptyBitMask() BitMask

NewEmptyBitMask creates a new, empty BitMask

func Or

func Or(first BitMask, masks ...BitMask) BitMask

Or is a package level implementation of 'or' between first and masks

Source Files

bitmask.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
3 packages
Last checked
5 hours ago

Tools for package owners.