| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // package def_bool -- неизменяемое внутренне булево
- package def_bool
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_base"
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/helpers"
- )
- // LBool -- неизменяемое внутреннее булево.
- type LBool struct {
- *owner.OwnerPass
- val def_spec_base.Bool
- }
- // LetBool -- возвращает новый внутренний неизменяемый Bool
- func LetBool[T def_spec_base.BoolConstraint](owner *owner.LOwner, val T) *LBool {
- helpers.If(owner == nil).Hassert("LetBool(): owner==nil")
- sf := &LBool{
- OwnerPass: owner.Pass(),
- val: def_spec_base.Bool(val),
- }
- return sf
- }
- // IsNot -- проверяет на false.
- func (sf *LBool) IsNot() def_spec_base.Bool {
- sf.CheckOwner()
- return sf.val == false
- }
- // IsOk -- проверяет на true.
- func (sf *LBool) IsOk() def_spec_base.Bool {
- sf.CheckOwner()
- return sf.val == true
- }
- // Let -- возвращает неизменяемое значение
- func (sf *LBool) Let() *LBool {
- sf.CheckOwner()
- return sf
- }
- // String -- возвращает строковое представление
- func (sf *LBool) String() string {
- return fmt.Sprintf("LBool(owner(%v) val(%v))", sf.OwnerPass, sf.val)
- }
|