Documentation
¶
Overview ¶
gen-atomicwrapper generates wrapper types around other atomic types.
It supports plugging in functions which convert the value inside the atomic type to the user-facing value. For example,
Given, atomic.Value and the functions,
func packString(string) enveloper{}
func unpackString(enveloper{}) string
We can run the following command:
gen-atomicwrapper -name String -wrapped Value \ -type string -pack fromString -unpack tostring
This wil generate approximately,
type String struct{ v Value }
func (s *String) Load() string {
return unpackString(v.Load())
}
func (s *String) Store(s string) {
return s.v.Store(packString(s))
}
The packing/unpacking logic allows the stored value to be different from the user-facing value.
Source Files
¶
- main.go
Click to show internal directories.
Click to hide internal directories.