github.com/diamondburned/arikawa/v2@v2.1.0/internal/moreatomic/bool.go (about)

     1  package moreatomic
     2  
     3  import "sync/atomic"
     4  
     5  type Bool struct {
     6  	val uint32
     7  }
     8  
     9  func (b *Bool) Get() bool {
    10  	return atomic.LoadUint32(&b.val) > 0
    11  }
    12  
    13  func (b *Bool) Set(val bool) {
    14  	var x = uint32(0)
    15  	if val {
    16  		x = 1
    17  	}
    18  	atomic.StoreUint32(&b.val, x)
    19  }