// package quark_str -- кварк строки package quark_str import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_base" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/quark/quark_val" ) // QStr -- кварк строки type QStr[M quark_val.CMod] struct { *quark_base.QBase[M, string] } // NewQStr -- создает фиксированную новую кварк строку func NewQStr(val string) *QStr[quark_val.Fix] { optMass := quark_base.QBaseOptMass[quark_val.Fix, string](len(val)) optVal := quark_base.QBaseOptVal(val) sf := &QStr[quark_val.Fix]{ QBase: quark_base.NewQBase(optMass, optVal), } return sf } // NewQStrMut -- создает мутабельную новую кварк строку func NewQStrMut(val string) *QStr[quark_val.Mut] { optMass := quark_base.QBaseOptMass[quark_val.Mut, string](len(val)) optVal := quark_base.QBaseOptValMut(val) sf := &QStr[quark_val.Mut]{ QBase: quark_base.NewQBaseMut(optMass, optVal), } return sf } // Get -- возвращает хранимое значение func (sf *QStr[M]) Get() string { return sf.Val().Get() } // Set -- устанавливает хранимое значение func Set(sf *QStr[quark_val.Mut], val string) { quark_val.Set(sf.Val(), val) }