| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // package archive_combo -- архивная пара значений
- package archive_combo
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/packer/lev0/alias"
- )
- // ArchiveCombo -- архивная пара значений
- type ArchiveCombo struct {
- hi, low alias.ArchVal
- combo alias.ArchCombo
- count int
- }
- // NewArchiveCombo -- создаёт новую архивную пару
- func NewArchiveCombo(hi, low alias.ArchVal) *ArchiveCombo {
- sf := &ArchiveCombo{
- hi: hi,
- low: low,
- combo: alias.ArchCombo(hi*65536 + low),
- }
- return sf
- }
- // Count -- возвращает число встреч комбо в архивных значениях
- func (sf *ArchiveCombo) Count() int {
- return sf.count
- }
- // Inc -- увелтчивает числ окомбо в архивных данных
- func (sf *ArchiveCombo) Inc() {
- sf.count++
- }
- // Low -- возвращает младшее значение архивной пары
- func (sf *ArchiveCombo) Low() alias.ArchVal {
- return sf.low
- }
- // Combo -- возвращает комбинацию
- func (sf *ArchiveCombo) Combo() alias.ArchCombo {
- return sf.combo
- }
- // String -- возвращает строковое представление
- func (sf *ArchiveCombo) String() string {
- return fmt.Sprintf("{hi=%v, low=%v, combo=%v}", sf.hi, sf.low, sf.combo)
- }
|