// Copyright 2021, Henrik Sölver henrik.solver@gmail.com // SPDX-License-Identifier: BSD-3-Clause package ipp import ( "bufio" ) type KeyWord struct { sos *SetOfStrings } func NewKeyWord(name string, values ...string) *KeyWord { k := new(KeyWord) k.sos = NewSetOfStrings(name, keyWordValueTag, values) return k } func (k KeyWord) Name() string { return k.sos.name } func (k KeyWord) String() string { return k.sos.String() } func (k *KeyWord) valueTag() tag { return k.sos.valueTag() } func (k *KeyWord) marshal() []byte { return k.sos.marshal() } func (k *KeyWord) unmarshal(byteStream *bufio.Reader) { k.sos.unmarshal(byteStream, keyWordValueTag) } func (k *KeyWord) addValue(v interface{}) { k.sos.AddValue(v.(string)) }