func fieldIsEmpty(p unsafe.Pointer) bool {
	return uintptr(p) == uintptr(0)
}
fieldIsEmpty returns true if the pointer p is empty
package engine
import (
	"fmt"
	"sync/atomic"
	"unsafe"
)
func storeContainer(p *unsafe.Pointer, container *Container) bool {
	return atomic.CompareAndSwapPointer(p, unsafe.Pointer(uintptr(0)), unsafe.Pointer(container))
}
func emptyContainer(p *unsafe.Pointer, container *Container) bool {
	return atomic.CompareAndSwapPointer(p, unsafe.Pointer(container), unsafe.Pointer(uintptr(0)))
}
func empty(p *unsafe.Pointer) {
	atomic.SwapPointer(p, unsafe.Pointer(uintptr(0)))
}