Documentation ¶
Overview ¶
Package abool provides atomic Boolean type for cleaner code and better performance.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AtomicBool ¶
type AtomicBool int32
AtomicBool is an atomic Boolean Its methods are all atomic, thus safe to be called by multiple goroutines simultaneously Note: When embedding into a struct, one should always use *AtomicBool to avoid copy
Example ¶
cond := New() // default to false cond.Set() // set to true cond.IsSet() // returns true cond.UnSet() // set to false cond.SetTo(true) // set to whatever you want cond.Toggle() // toggles the boolean value
Output:
func NewBool ¶
func NewBool(ok bool) *AtomicBool
NewBool creates an AtomicBool with given default value
func (*AtomicBool) IsSet ¶
func (ab *AtomicBool) IsSet() bool
IsSet returns whether the Boolean is true
func (*AtomicBool) SetTo ¶
func (ab *AtomicBool) SetTo(yes bool)
SetTo sets the boolean with given Boolean.
func (*AtomicBool) SetToIf ¶
func (ab *AtomicBool) SetToIf(old, new bool) (set bool)
SetToIf sets the Boolean to new only if the Boolean matches the old Returns whether the set was done
func (*AtomicBool) Toggle ¶
func (ab *AtomicBool) Toggle() bool
Toggle negates boolean atomically and returns the previous boolean value.
Click to show internal directories.
Click to hide internal directories.