github.com/antihax/goesi@v0.0.0-20240126031043-6c54d0cb7f95/optional/uintptr.go (about)

     1  package optional
     2  
     3  type Uintptr struct {
     4  	isSet bool
     5  	value uintptr
     6  }
     7  
     8  func NewUintptr(value uintptr) Uintptr {
     9  	return Uintptr{
    10  		true,
    11  		value,
    12  	}
    13  }
    14  
    15  // EmptyUintptr returns a new Uintptr that does not have a value set.
    16  func EmptyUintptr() Uintptr {
    17  	return Uintptr{
    18  		false,
    19  		0,
    20  	}
    21  }
    22  
    23  func (i Uintptr) IsSet() bool {
    24  	return i.isSet
    25  }
    26  
    27  func (i Uintptr) Value() uintptr {
    28  	return i.value
    29  }
    30  
    31  func (i Uintptr) Default(defaultValue uintptr) uintptr {
    32  	if i.isSet {
    33  		return i.value
    34  	}
    35  	return defaultValue
    36  }