def_mut_bool.go 978 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // package def_mut_bool -- изменяемое булево значение
  2. package def_mut_bool
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_mut"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_base"
  6. )
  7. // MBool -- изменяемое булево значение.
  8. type MBool struct {
  9. *def_mut.Mut[def_spec_base.Bool]
  10. }
  11. // MutBool -- возвращает новый изменяемый Bool.
  12. func MutBool(val def_spec_base.Bool) *MBool {
  13. sf := &MBool{
  14. Mut: def_mut.NewMut(val),
  15. }
  16. return sf
  17. }
  18. // IsNot -- проверяет на false.
  19. func (sf *MBool) IsNot() def_spec_base.Bool {
  20. return sf.Get() == false
  21. }
  22. // IsOk -- проверяет на true.
  23. func (sf *MBool) IsOk() def_spec_base.Bool {
  24. return sf.Get() == true
  25. }
  26. // Set -- устанавливает новое значение.
  27. func (sf *MBool) Set() {
  28. sf.Mut.Set(true)
  29. }
  30. // Reset -- сбрасывает новое значение.
  31. func (sf *MBool) Reset() {
  32. sf.Mut.Set(false)
  33. }