func (a *Attribute) Marshal(b ...[]byte) ([]byte, error) {
	var buf []byte
	if len(b) > 0 {
		buf = b[0]
	}
	return (*object.Attribute)(a).
		StableMarshal(buf)
}
Marshal marshals Attribute into a protobuf binary form.

Buffer is allocated when the argument is empty.
Otherwise, the first buffer is used.
package object
import (
	"github.com/nspcc-dev/neofs-api-go/v2/object"
)
type Attribute object.Attribute
func NewAttributeFromV2(aV2 *object.Attribute) *Attribute {
	return (*Attribute)(aV2)
}
func NewAttribute() *Attribute {
	return NewAttributeFromV2(new(object.Attribute))
}
func (a *Attribute) Key() string {
	return (*object.Attribute)(a).GetKey()
}
func (a *Attribute) SetKey(v string) {
	(*object.Attribute)(a).SetKey(v)
}
func (a *Attribute) Value() string {
	return (*object.Attribute)(a).GetValue()
}
func (a *Attribute) SetValue(v string) {
	(*object.Attribute)(a).SetValue(v)
}
func (a *Attribute) ToV2() *object.Attribute {
	return (*object.Attribute)(a)
}