package meta const ( FieldsMaskCapacity = 4 FieldsMaskPartBitSize = 64 ) func MakeFieldsMaskFromInt64(v int64) FieldsMask { var mask FieldsMask mask.SetPartFromInt64(0, v) return mask } type FieldsMaskPart uint64 func (part FieldsMaskPart) FieldIsDirty(index uint64) bool { return (1< 0 { return true } } return false } func (fm *FieldsMask) Reset() { for i := range fm.parts { fm.parts[i] = 0 } } func (fm *FieldsMask) SetChangedAll() { for i := range fm.parts { fm.parts[i] = 1<<64 - 1 } } func (fm FieldsMask) partIndex(index uint64) uint64 { return index / FieldsMaskPartBitSize } func (fm FieldsMask) fieldIndex(index uint64) uint64 { return index % FieldsMaskPartBitSize }