// package module_name -- имя модуля package module_name import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0" ) // AModuleName -- уникальное имя модуля. type AModuleName lev0.ATxt // IModuleNameFix -- фиксированное имя модуля. type IModuleNameFix interface { lev0.IString[AModuleName] // Txt -- внутренне представление имени модуля Txt() *lev0.LTxt } type ModuleName struct { name *lev0.LTxt } // NewModuleName -- создать новое имя модуля. func NewModuleName(val AModuleName) *ModuleName { lev0.If(val == "").Hassert("NewAModuleName(): val is empty") sf := &ModuleName{ name: lev0.LetTxt(val), } _ = IModuleNameFix(sf) return sf } // Txt -- возвращает внутренне представление имени модуля. func (sf *ModuleName) Txt() *lev0.LTxt { return sf.name } // String -- строковое представление. func (sf *ModuleName) String() string { return sf.name.String() } // Get -- возвращает имя модуля. func (sf *ModuleName) Get() AModuleName { return AModuleName(sf.name.Get()) } // Byte -- возвращает байты. func (sf *ModuleName) Byte() []byte { return sf.name.Byte() } // Rune -- возвращает руны. func (sf *ModuleName) Rune() []rune { return sf.name.Rune() } // Len -- длина строки. func (sf *ModuleName) Len() lev0.Int { return sf.name.Len() }