pkg vdl, const Any Kind
pkg vdl, const Array Kind
pkg vdl, const Bool Kind
pkg vdl, const Byte Kind
pkg vdl, const Enum Kind
pkg vdl, const Float32 Kind
pkg vdl, const Float64 Kind
pkg vdl, const Int16 Kind
pkg vdl, const Int32 Kind
pkg vdl, const Int64 Kind
pkg vdl, const Int8 Kind
pkg vdl, const List Kind
pkg vdl, const Map Kind
pkg vdl, const Optional Kind
pkg vdl, const Set Kind
pkg vdl, const String Kind
pkg vdl, const Struct Kind
pkg vdl, const TypeObject Kind
pkg vdl, const Uint16 Kind
pkg vdl, const Uint32 Kind
pkg vdl, const Uint64 Kind
pkg vdl, const Union Kind
pkg vdl, const WalkAll WalkMode
pkg vdl, const WalkInline WalkMode
pkg vdl, const WireRetryCodeNoRetry WireRetryCode
pkg vdl, const WireRetryCodeRetryBackoff WireRetryCode
pkg vdl, const WireRetryCodeRetryConnection WireRetryCode
pkg vdl, const WireRetryCodeRetryRefetch WireRetryCode
pkg vdl, func AnyValue(*Value) *Value
pkg vdl, func ArrayType(int, *Type) *Type
pkg vdl, func BoolValue(*Type, bool) *Value
pkg vdl, func BytesValue(*Type, []byte) *Value
pkg vdl, func Compatible(*Type, *Type) bool
pkg vdl, func Convert(interface{}, interface{}) error
pkg vdl, func CopyValue(*Value) *Value
pkg vdl, func DeepEqual(interface{}, interface{}) bool
pkg vdl, func EnumType(...string) *Type
pkg vdl, func EnumValue(*Type, string) *Value
pkg vdl, func EqualValue(*Value, *Value) bool
pkg vdl, func FloatValue(*Type, float64) *Value
pkg vdl, func FromReflect(Target, reflect.Value) error
pkg vdl, func FromValue(Target, *Value) error
pkg vdl, func IntValue(*Type, int64) *Value
pkg vdl, func ListType(*Type) *Type
pkg vdl, func MapType(*Type, *Type) *Type
pkg vdl, func NamedType(string, *Type) *Type
pkg vdl, func NonNilZeroValue(*Type) *Value
pkg vdl, func OptionalType(*Type) *Type
pkg vdl, func OptionalValue(*Value) *Value
pkg vdl, func Read(Decoder, interface{}) error
pkg vdl, func ReadReflect(Decoder, reflect.Value) error
pkg vdl, func ReflectTarget(reflect.Value) (Target, error)
pkg vdl, func Register(interface{})
pkg vdl, func RegisterNative(interface{}, interface{})
pkg vdl, func SetType(*Type) *Type
pkg vdl, func SortValuesAsString([]*Value) []*Value
pkg vdl, func SplitIdent(string) (string, string)
pkg vdl, func StringValue(*Type, string) *Value
pkg vdl, func StructType(...Field) *Type
pkg vdl, func Transcode(Encoder, Decoder) error
pkg vdl, func TypeFromReflect(reflect.Type) (*Type, error)
pkg vdl, func TypeObjectValue(*Type) *Value
pkg vdl, func TypeOf(interface{}) *Type
pkg vdl, func TypeToReflect(*Type) reflect.Type
pkg vdl, func UintValue(*Type, uint64) *Value
pkg vdl, func UnionType(...Field) *Type
pkg vdl, func UnionValue(*Type, int, *Value) *Value
pkg vdl, func ValueFromReflect(reflect.Value) (*Value, error)
pkg vdl, func ValueOf(interface{}) *Value
pkg vdl, func ValueTarget(*Value) (Target, error)
pkg vdl, func WireRetryCodeFromString(string) (WireRetryCode, error)
pkg vdl, func ZeroValue(*Type) *Value
pkg vdl, method (*BoolTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*BoolTarget) FinishList(ListTarget) error
pkg vdl, method (*BoolTarget) FinishMap(MapTarget) error
pkg vdl, method (*BoolTarget) FinishSet(SetTarget) error
pkg vdl, method (*BoolTarget) FromBool(bool, *Type) error
pkg vdl, method (*BoolTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*BoolTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*BoolTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*BoolTarget) FromFloat(float64, *Type) error
pkg vdl, method (*BoolTarget) FromInt(int64, *Type) error
pkg vdl, method (*BoolTarget) FromNil(*Type) error
pkg vdl, method (*BoolTarget) FromString(string, *Type) error
pkg vdl, method (*BoolTarget) FromTypeObject(*Type) error
pkg vdl, method (*BoolTarget) FromUint(uint64, *Type) error
pkg vdl, method (*BoolTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*BoolTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*BoolTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*BoolTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*ByteTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*ByteTarget) FinishList(ListTarget) error
pkg vdl, method (*ByteTarget) FinishMap(MapTarget) error
pkg vdl, method (*ByteTarget) FinishSet(SetTarget) error
pkg vdl, method (*ByteTarget) FromBool(bool, *Type) error
pkg vdl, method (*ByteTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*ByteTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*ByteTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*ByteTarget) FromFloat(float64, *Type) error
pkg vdl, method (*ByteTarget) FromInt(int64, *Type) error
pkg vdl, method (*ByteTarget) FromNil(*Type) error
pkg vdl, method (*ByteTarget) FromString(string, *Type) error
pkg vdl, method (*ByteTarget) FromTypeObject(*Type) error
pkg vdl, method (*ByteTarget) FromUint(uint64, *Type) error
pkg vdl, method (*ByteTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*ByteTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*ByteTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*ByteTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*BytesTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*BytesTarget) FinishList(ListTarget) error
pkg vdl, method (*BytesTarget) FinishMap(MapTarget) error
pkg vdl, method (*BytesTarget) FinishSet(SetTarget) error
pkg vdl, method (*BytesTarget) FromBool(bool, *Type) error
pkg vdl, method (*BytesTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*BytesTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*BytesTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*BytesTarget) FromFloat(float64, *Type) error
pkg vdl, method (*BytesTarget) FromInt(int64, *Type) error
pkg vdl, method (*BytesTarget) FromNil(*Type) error
pkg vdl, method (*BytesTarget) FromString(string, *Type) error
pkg vdl, method (*BytesTarget) FromTypeObject(*Type) error
pkg vdl, method (*BytesTarget) FromUint(uint64, *Type) error
pkg vdl, method (*BytesTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*BytesTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*BytesTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*BytesTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*FieldsTargetBase) FinishField(Target, Target) error
pkg vdl, method (*FieldsTargetBase) StartField(string) (Target, Target, error)
pkg vdl, method (*FieldsTargetBase) ZeroField(string) error
pkg vdl, method (*Float32Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Float32Target) FinishList(ListTarget) error
pkg vdl, method (*Float32Target) FinishMap(MapTarget) error
pkg vdl, method (*Float32Target) FinishSet(SetTarget) error
pkg vdl, method (*Float32Target) FromBool(bool, *Type) error
pkg vdl, method (*Float32Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Float32Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Float32Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Float32Target) FromFloat(float64, *Type) error
pkg vdl, method (*Float32Target) FromInt(int64, *Type) error
pkg vdl, method (*Float32Target) FromNil(*Type) error
pkg vdl, method (*Float32Target) FromString(string, *Type) error
pkg vdl, method (*Float32Target) FromTypeObject(*Type) error
pkg vdl, method (*Float32Target) FromUint(uint64, *Type) error
pkg vdl, method (*Float32Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Float32Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Float32Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Float32Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Float64Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Float64Target) FinishList(ListTarget) error
pkg vdl, method (*Float64Target) FinishMap(MapTarget) error
pkg vdl, method (*Float64Target) FinishSet(SetTarget) error
pkg vdl, method (*Float64Target) FromBool(bool, *Type) error
pkg vdl, method (*Float64Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Float64Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Float64Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Float64Target) FromFloat(float64, *Type) error
pkg vdl, method (*Float64Target) FromInt(int64, *Type) error
pkg vdl, method (*Float64Target) FromNil(*Type) error
pkg vdl, method (*Float64Target) FromString(string, *Type) error
pkg vdl, method (*Float64Target) FromTypeObject(*Type) error
pkg vdl, method (*Float64Target) FromUint(uint64, *Type) error
pkg vdl, method (*Float64Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Float64Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Float64Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Float64Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Int16Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Int16Target) FinishList(ListTarget) error
pkg vdl, method (*Int16Target) FinishMap(MapTarget) error
pkg vdl, method (*Int16Target) FinishSet(SetTarget) error
pkg vdl, method (*Int16Target) FromBool(bool, *Type) error
pkg vdl, method (*Int16Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Int16Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Int16Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Int16Target) FromFloat(float64, *Type) error
pkg vdl, method (*Int16Target) FromInt(int64, *Type) error
pkg vdl, method (*Int16Target) FromNil(*Type) error
pkg vdl, method (*Int16Target) FromString(string, *Type) error
pkg vdl, method (*Int16Target) FromTypeObject(*Type) error
pkg vdl, method (*Int16Target) FromUint(uint64, *Type) error
pkg vdl, method (*Int16Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Int16Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Int16Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Int16Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Int32Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Int32Target) FinishList(ListTarget) error
pkg vdl, method (*Int32Target) FinishMap(MapTarget) error
pkg vdl, method (*Int32Target) FinishSet(SetTarget) error
pkg vdl, method (*Int32Target) FromBool(bool, *Type) error
pkg vdl, method (*Int32Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Int32Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Int32Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Int32Target) FromFloat(float64, *Type) error
pkg vdl, method (*Int32Target) FromInt(int64, *Type) error
pkg vdl, method (*Int32Target) FromNil(*Type) error
pkg vdl, method (*Int32Target) FromString(string, *Type) error
pkg vdl, method (*Int32Target) FromTypeObject(*Type) error
pkg vdl, method (*Int32Target) FromUint(uint64, *Type) error
pkg vdl, method (*Int32Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Int32Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Int32Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Int32Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Int64Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Int64Target) FinishList(ListTarget) error
pkg vdl, method (*Int64Target) FinishMap(MapTarget) error
pkg vdl, method (*Int64Target) FinishSet(SetTarget) error
pkg vdl, method (*Int64Target) FromBool(bool, *Type) error
pkg vdl, method (*Int64Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Int64Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Int64Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Int64Target) FromFloat(float64, *Type) error
pkg vdl, method (*Int64Target) FromInt(int64, *Type) error
pkg vdl, method (*Int64Target) FromNil(*Type) error
pkg vdl, method (*Int64Target) FromString(string, *Type) error
pkg vdl, method (*Int64Target) FromTypeObject(*Type) error
pkg vdl, method (*Int64Target) FromUint(uint64, *Type) error
pkg vdl, method (*Int64Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Int64Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Int64Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Int64Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Int8Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Int8Target) FinishList(ListTarget) error
pkg vdl, method (*Int8Target) FinishMap(MapTarget) error
pkg vdl, method (*Int8Target) FinishSet(SetTarget) error
pkg vdl, method (*Int8Target) FromBool(bool, *Type) error
pkg vdl, method (*Int8Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Int8Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Int8Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Int8Target) FromFloat(float64, *Type) error
pkg vdl, method (*Int8Target) FromInt(int64, *Type) error
pkg vdl, method (*Int8Target) FromNil(*Type) error
pkg vdl, method (*Int8Target) FromString(string, *Type) error
pkg vdl, method (*Int8Target) FromTypeObject(*Type) error
pkg vdl, method (*Int8Target) FromUint(uint64, *Type) error
pkg vdl, method (*Int8Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Int8Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Int8Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Int8Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*ListTargetBase) FinishElem(Target) error
pkg vdl, method (*ListTargetBase) StartElem(int) (Target, error)
pkg vdl, method (*MapTargetBase) FinishField(Target, Target) error
pkg vdl, method (*MapTargetBase) FinishKeyStartField(Target) (Target, error)
pkg vdl, method (*MapTargetBase) StartKey() (Target, error)
pkg vdl, method (*SetTargetBase) FinishKey(Target) error
pkg vdl, method (*SetTargetBase) StartKey() (Target, error)
pkg vdl, method (*StringSliceTarget) FinishElem(Target) error
pkg vdl, method (*StringSliceTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*StringSliceTarget) FinishList(ListTarget) error
pkg vdl, method (*StringSliceTarget) FinishMap(MapTarget) error
pkg vdl, method (*StringSliceTarget) FinishSet(SetTarget) error
pkg vdl, method (*StringSliceTarget) FromBool(bool, *Type) error
pkg vdl, method (*StringSliceTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*StringSliceTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*StringSliceTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*StringSliceTarget) FromFloat(float64, *Type) error
pkg vdl, method (*StringSliceTarget) FromInt(int64, *Type) error
pkg vdl, method (*StringSliceTarget) FromNil(*Type) error
pkg vdl, method (*StringSliceTarget) FromString(string, *Type) error
pkg vdl, method (*StringSliceTarget) FromTypeObject(*Type) error
pkg vdl, method (*StringSliceTarget) FromUint(uint64, *Type) error
pkg vdl, method (*StringSliceTarget) StartElem(int) (Target, error)
pkg vdl, method (*StringSliceTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*StringSliceTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*StringSliceTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*StringSliceTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*StringTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*StringTarget) FinishList(ListTarget) error
pkg vdl, method (*StringTarget) FinishMap(MapTarget) error
pkg vdl, method (*StringTarget) FinishSet(SetTarget) error
pkg vdl, method (*StringTarget) FromBool(bool, *Type) error
pkg vdl, method (*StringTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*StringTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*StringTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*StringTarget) FromFloat(float64, *Type) error
pkg vdl, method (*StringTarget) FromInt(int64, *Type) error
pkg vdl, method (*StringTarget) FromNil(*Type) error
pkg vdl, method (*StringTarget) FromString(string, *Type) error
pkg vdl, method (*StringTarget) FromTypeObject(*Type) error
pkg vdl, method (*StringTarget) FromUint(uint64, *Type) error
pkg vdl, method (*StringTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*StringTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*StringTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*StringTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*TargetBase) FinishFields(FieldsTarget) error
pkg vdl, method (*TargetBase) FinishList(ListTarget) error
pkg vdl, method (*TargetBase) FinishMap(MapTarget) error
pkg vdl, method (*TargetBase) FinishSet(SetTarget) error
pkg vdl, method (*TargetBase) FromBool(bool, *Type) error
pkg vdl, method (*TargetBase) FromBytes([]byte, *Type) error
pkg vdl, method (*TargetBase) FromComplex(complex128, *Type) error
pkg vdl, method (*TargetBase) FromEnumLabel(string, *Type) error
pkg vdl, method (*TargetBase) FromFloat(float64, *Type) error
pkg vdl, method (*TargetBase) FromInt(int64, *Type) error
pkg vdl, method (*TargetBase) FromNil(*Type) error
pkg vdl, method (*TargetBase) FromString(string, *Type) error
pkg vdl, method (*TargetBase) FromTypeObject(*Type) error
pkg vdl, method (*TargetBase) FromUint(uint64, *Type) error
pkg vdl, method (*TargetBase) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*TargetBase) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*TargetBase) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*TargetBase) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Type) AssignableFrom(*Value) bool
pkg vdl, method (*Type) CanBeKey() bool
pkg vdl, method (*Type) CanBeNamed() bool
pkg vdl, method (*Type) CanBeNil() bool
pkg vdl, method (*Type) CanBeOptional() bool
pkg vdl, method (*Type) ContainsKind(WalkMode, ...Kind) bool
pkg vdl, method (*Type) ContainsType(WalkMode, ...*Type) bool
pkg vdl, method (*Type) Elem() *Type
pkg vdl, method (*Type) EnumIndex(string) int
pkg vdl, method (*Type) EnumLabel(int) string
pkg vdl, method (*Type) Field(int) Field
pkg vdl, method (*Type) FieldByName(string) (Field, int)
pkg vdl, method (*Type) IsBytes() bool
pkg vdl, method (*Type) Key() *Type
pkg vdl, method (*Type) Kind() Kind
pkg vdl, method (*Type) Len() int
pkg vdl, method (*Type) Name() string
pkg vdl, method (*Type) NonOptional() *Type
pkg vdl, method (*Type) NumEnumLabel() int
pkg vdl, method (*Type) NumField() int
pkg vdl, method (*Type) String() string
pkg vdl, method (*Type) Walk(WalkMode, func(*Type) bool) bool
pkg vdl, method (*TypeBuilder) Array() PendingArray
pkg vdl, method (*TypeBuilder) Build()
pkg vdl, method (*TypeBuilder) Enum() PendingEnum
pkg vdl, method (*TypeBuilder) List() PendingList
pkg vdl, method (*TypeBuilder) Map() PendingMap
pkg vdl, method (*TypeBuilder) Named(string) PendingNamed
pkg vdl, method (*TypeBuilder) Optional() PendingOptional
pkg vdl, method (*TypeBuilder) Set() PendingSet
pkg vdl, method (*TypeBuilder) Struct() PendingStruct
pkg vdl, method (*TypeBuilder) Union() PendingUnion
pkg vdl, method (*TypeObjectTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*TypeObjectTarget) FinishList(ListTarget) error
pkg vdl, method (*TypeObjectTarget) FinishMap(MapTarget) error
pkg vdl, method (*TypeObjectTarget) FinishSet(SetTarget) error
pkg vdl, method (*TypeObjectTarget) FromBool(bool, *Type) error
pkg vdl, method (*TypeObjectTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*TypeObjectTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*TypeObjectTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*TypeObjectTarget) FromFloat(float64, *Type) error
pkg vdl, method (*TypeObjectTarget) FromInt(int64, *Type) error
pkg vdl, method (*TypeObjectTarget) FromNil(*Type) error
pkg vdl, method (*TypeObjectTarget) FromString(string, *Type) error
pkg vdl, method (*TypeObjectTarget) FromTypeObject(*Type) error
pkg vdl, method (*TypeObjectTarget) FromUint(uint64, *Type) error
pkg vdl, method (*TypeObjectTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*TypeObjectTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*TypeObjectTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*TypeObjectTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Uint16Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Uint16Target) FinishList(ListTarget) error
pkg vdl, method (*Uint16Target) FinishMap(MapTarget) error
pkg vdl, method (*Uint16Target) FinishSet(SetTarget) error
pkg vdl, method (*Uint16Target) FromBool(bool, *Type) error
pkg vdl, method (*Uint16Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Uint16Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Uint16Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Uint16Target) FromFloat(float64, *Type) error
pkg vdl, method (*Uint16Target) FromInt(int64, *Type) error
pkg vdl, method (*Uint16Target) FromNil(*Type) error
pkg vdl, method (*Uint16Target) FromString(string, *Type) error
pkg vdl, method (*Uint16Target) FromTypeObject(*Type) error
pkg vdl, method (*Uint16Target) FromUint(uint64, *Type) error
pkg vdl, method (*Uint16Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Uint16Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Uint16Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Uint16Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Uint32Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Uint32Target) FinishList(ListTarget) error
pkg vdl, method (*Uint32Target) FinishMap(MapTarget) error
pkg vdl, method (*Uint32Target) FinishSet(SetTarget) error
pkg vdl, method (*Uint32Target) FromBool(bool, *Type) error
pkg vdl, method (*Uint32Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Uint32Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Uint32Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Uint32Target) FromFloat(float64, *Type) error
pkg vdl, method (*Uint32Target) FromInt(int64, *Type) error
pkg vdl, method (*Uint32Target) FromNil(*Type) error
pkg vdl, method (*Uint32Target) FromString(string, *Type) error
pkg vdl, method (*Uint32Target) FromTypeObject(*Type) error
pkg vdl, method (*Uint32Target) FromUint(uint64, *Type) error
pkg vdl, method (*Uint32Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Uint32Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Uint32Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Uint32Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Uint64Target) FinishFields(FieldsTarget) error
pkg vdl, method (*Uint64Target) FinishList(ListTarget) error
pkg vdl, method (*Uint64Target) FinishMap(MapTarget) error
pkg vdl, method (*Uint64Target) FinishSet(SetTarget) error
pkg vdl, method (*Uint64Target) FromBool(bool, *Type) error
pkg vdl, method (*Uint64Target) FromBytes([]byte, *Type) error
pkg vdl, method (*Uint64Target) FromComplex(complex128, *Type) error
pkg vdl, method (*Uint64Target) FromEnumLabel(string, *Type) error
pkg vdl, method (*Uint64Target) FromFloat(float64, *Type) error
pkg vdl, method (*Uint64Target) FromInt(int64, *Type) error
pkg vdl, method (*Uint64Target) FromNil(*Type) error
pkg vdl, method (*Uint64Target) FromString(string, *Type) error
pkg vdl, method (*Uint64Target) FromTypeObject(*Type) error
pkg vdl, method (*Uint64Target) FromUint(uint64, *Type) error
pkg vdl, method (*Uint64Target) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*Uint64Target) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*Uint64Target) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*Uint64Target) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*Value) Assign(*Value) *Value
pkg vdl, method (*Value) AssignBool(bool)
pkg vdl, method (*Value) AssignBytes([]byte)
pkg vdl, method (*Value) AssignEnumIndex(int)
pkg vdl, method (*Value) AssignEnumLabel(string)
pkg vdl, method (*Value) AssignField(int, *Value)
pkg vdl, method (*Value) AssignFloat(float64)
pkg vdl, method (*Value) AssignIndex(int, *Value)
pkg vdl, method (*Value) AssignInt(int64)
pkg vdl, method (*Value) AssignLen(int)
pkg vdl, method (*Value) AssignMapIndex(*Value, *Value)
pkg vdl, method (*Value) AssignSetKey(*Value)
pkg vdl, method (*Value) AssignString(string)
pkg vdl, method (*Value) AssignTypeObject(*Type)
pkg vdl, method (*Value) AssignUint(uint64)
pkg vdl, method (*Value) Bool() bool
pkg vdl, method (*Value) Bytes() []byte
pkg vdl, method (*Value) ContainsKey(*Value) bool
pkg vdl, method (*Value) Decoder() Decoder
pkg vdl, method (*Value) DeleteMapIndex(*Value)
pkg vdl, method (*Value) DeleteSetKey(*Value)
pkg vdl, method (*Value) Elem() *Value
pkg vdl, method (*Value) EnumIndex() int
pkg vdl, method (*Value) EnumLabel() string
pkg vdl, method (*Value) Float() float64
pkg vdl, method (*Value) Index(int) *Value
pkg vdl, method (*Value) Int() int64
pkg vdl, method (*Value) IsNil() bool
pkg vdl, method (*Value) IsValid() bool
pkg vdl, method (*Value) IsZero() bool
pkg vdl, method (*Value) Keys() []*Value
pkg vdl, method (*Value) Kind() Kind
pkg vdl, method (*Value) Len() int
pkg vdl, method (*Value) MapIndex(*Value) *Value
pkg vdl, method (*Value) RawString() string
pkg vdl, method (*Value) String() string
pkg vdl, method (*Value) StructField(int) *Value
pkg vdl, method (*Value) StructFieldByName(string) *Value
pkg vdl, method (*Value) Type() *Type
pkg vdl, method (*Value) TypeObject() *Type
pkg vdl, method (*Value) Uint() uint64
pkg vdl, method (*Value) UnionField() (int, *Value)
pkg vdl, method (*Value) VDLEqual(interface{}) bool
pkg vdl, method (*Value) VDLRead(Decoder) error
pkg vdl, method (*Value) VDLWrite(Encoder) error
pkg vdl, method (*WireError) FillVDLTarget(Target, *Type) error
pkg vdl, method (*WireError) MakeVDLTarget() Target
pkg vdl, method (*WireError) VDLRead(Decoder) error
pkg vdl, method (*WireErrorTarget) FinishField(Target, Target) error
pkg vdl, method (*WireErrorTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*WireErrorTarget) FinishList(ListTarget) error
pkg vdl, method (*WireErrorTarget) FinishMap(MapTarget) error
pkg vdl, method (*WireErrorTarget) FinishSet(SetTarget) error
pkg vdl, method (*WireErrorTarget) FromBool(bool, *Type) error
pkg vdl, method (*WireErrorTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*WireErrorTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*WireErrorTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*WireErrorTarget) FromFloat(float64, *Type) error
pkg vdl, method (*WireErrorTarget) FromInt(int64, *Type) error
pkg vdl, method (*WireErrorTarget) FromNil(*Type) error
pkg vdl, method (*WireErrorTarget) FromString(string, *Type) error
pkg vdl, method (*WireErrorTarget) FromTypeObject(*Type) error
pkg vdl, method (*WireErrorTarget) FromUint(uint64, *Type) error
pkg vdl, method (*WireErrorTarget) StartField(string) (Target, Target, error)
pkg vdl, method (*WireErrorTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*WireErrorTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*WireErrorTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*WireErrorTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (*WireErrorTarget) ZeroField(string) error
pkg vdl, method (*WireRetryCode) FillVDLTarget(Target, *Type) error
pkg vdl, method (*WireRetryCode) MakeVDLTarget() Target
pkg vdl, method (*WireRetryCode) Set(string) error
pkg vdl, method (*WireRetryCode) VDLRead(Decoder) error
pkg vdl, method (*WireRetryCodeTarget) FinishFields(FieldsTarget) error
pkg vdl, method (*WireRetryCodeTarget) FinishList(ListTarget) error
pkg vdl, method (*WireRetryCodeTarget) FinishMap(MapTarget) error
pkg vdl, method (*WireRetryCodeTarget) FinishSet(SetTarget) error
pkg vdl, method (*WireRetryCodeTarget) FromBool(bool, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromBytes([]byte, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromComplex(complex128, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromEnumLabel(string, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromFloat(float64, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromInt(int64, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromNil(*Type) error
pkg vdl, method (*WireRetryCodeTarget) FromString(string, *Type) error
pkg vdl, method (*WireRetryCodeTarget) FromTypeObject(*Type) error
pkg vdl, method (*WireRetryCodeTarget) FromUint(uint64, *Type) error
pkg vdl, method (*WireRetryCodeTarget) StartFields(*Type) (FieldsTarget, error)
pkg vdl, method (*WireRetryCodeTarget) StartList(*Type, int) (ListTarget, error)
pkg vdl, method (*WireRetryCodeTarget) StartMap(*Type, int) (MapTarget, error)
pkg vdl, method (*WireRetryCodeTarget) StartSet(*Type, int) (SetTarget, error)
pkg vdl, method (Kind) String() string
pkg vdl, method (WireError) VDLWrite(Encoder) error
pkg vdl, method (WireRetryCode) String() string
pkg vdl, method (WireRetryCode) VDLWrite(Encoder) error
pkg vdl, type BoolTarget struct
pkg vdl, type BoolTarget struct, Value *bool
pkg vdl, type BoolTarget struct, embedded TargetBase
pkg vdl, type ByteTarget struct
pkg vdl, type ByteTarget struct, Value *byte
pkg vdl, type ByteTarget struct, embedded TargetBase
pkg vdl, type BytesTarget struct
pkg vdl, type BytesTarget struct, Value *[]byte
pkg vdl, type BytesTarget struct, embedded TargetBase
pkg vdl, type Decoder interface { DecodeBool, DecodeBytes, DecodeFloat, DecodeInt, DecodeString, DecodeTypeObject, DecodeUint, FinishValue, IgnoreNextStartValue, Index, IsAny, IsNil, IsOptional, LenHint, NextEntry, NextField, SkipValue, StackDepth, StartValue, Type }
pkg vdl, type Decoder interface, DecodeBool() (bool, error)
pkg vdl, type Decoder interface, DecodeBytes(int, *[]byte) error
pkg vdl, type Decoder interface, DecodeFloat(uint) (float64, error)
pkg vdl, type Decoder interface, DecodeInt(uint) (int64, error)
pkg vdl, type Decoder interface, DecodeString() (string, error)
pkg vdl, type Decoder interface, DecodeTypeObject() (*Type, error)
pkg vdl, type Decoder interface, DecodeUint(uint) (uint64, error)
pkg vdl, type Decoder interface, FinishValue() error
pkg vdl, type Decoder interface, IgnoreNextStartValue()
pkg vdl, type Decoder interface, Index() int
pkg vdl, type Decoder interface, IsAny() bool
pkg vdl, type Decoder interface, IsNil() bool
pkg vdl, type Decoder interface, IsOptional() bool
pkg vdl, type Decoder interface, LenHint() int
pkg vdl, type Decoder interface, NextEntry() (bool, error)
pkg vdl, type Decoder interface, NextField() (string, error)
pkg vdl, type Decoder interface, SkipValue() error
pkg vdl, type Decoder interface, StackDepth() int
pkg vdl, type Decoder interface, StartValue() error
pkg vdl, type Decoder interface, Type() *Type
pkg vdl, type Encoder interface { EncodeBool, EncodeBytes, EncodeFloat, EncodeInt, EncodeString, EncodeTypeObject, EncodeUint, FinishValue, NextEntry, NextField, NilValue, SetLenHint, SetNextStartValueIsOptional, StartValue }
pkg vdl, type Encoder interface, EncodeBool(bool) error
pkg vdl, type Encoder interface, EncodeBytes([]byte) error
pkg vdl, type Encoder interface, EncodeFloat(float64) error
pkg vdl, type Encoder interface, EncodeInt(int64) error
pkg vdl, type Encoder interface, EncodeString(string) error
pkg vdl, type Encoder interface, EncodeTypeObject(*Type) error
pkg vdl, type Encoder interface, EncodeUint(uint64) error
pkg vdl, type Encoder interface, FinishValue() error
pkg vdl, type Encoder interface, NextEntry(bool) error
pkg vdl, type Encoder interface, NextField(string) error
pkg vdl, type Encoder interface, NilValue(*Type) error
pkg vdl, type Encoder interface, SetLenHint(int) error
pkg vdl, type Encoder interface, SetNextStartValueIsOptional()
pkg vdl, type Encoder interface, StartValue(*Type) error
pkg vdl, type Equaler interface { VDLEqual }
pkg vdl, type Equaler interface, VDLEqual(interface{}) bool
pkg vdl, type Field struct
pkg vdl, type Field struct, Name string
pkg vdl, type Field struct, Type *Type
pkg vdl, type FieldsTarget interface { FinishField, StartField, ZeroField }
pkg vdl, type FieldsTarget interface, FinishField(Target, Target) error
pkg vdl, type FieldsTarget interface, StartField(string) (Target, Target, error)
pkg vdl, type FieldsTarget interface, ZeroField(string) error
pkg vdl, type FieldsTargetBase struct
pkg vdl, type Float32Target struct
pkg vdl, type Float32Target struct, Value *float32
pkg vdl, type Float32Target struct, embedded TargetBase
pkg vdl, type Float64Target struct
pkg vdl, type Float64Target struct, Value *float64
pkg vdl, type Float64Target struct, embedded TargetBase
pkg vdl, type Int16Target struct
pkg vdl, type Int16Target struct, Value *int16
pkg vdl, type Int16Target struct, embedded TargetBase
pkg vdl, type Int32Target struct
pkg vdl, type Int32Target struct, Value *int32
pkg vdl, type Int32Target struct, embedded TargetBase
pkg vdl, type Int64Target struct
pkg vdl, type Int64Target struct, Value *int64
pkg vdl, type Int64Target struct, embedded TargetBase
pkg vdl, type Int8Target struct
pkg vdl, type Int8Target struct, Value *int8
pkg vdl, type Int8Target struct, embedded TargetBase
pkg vdl, type Kind uint
pkg vdl, type ListTarget interface { FinishElem, StartElem }
pkg vdl, type ListTarget interface, FinishElem(Target) error
pkg vdl, type ListTarget interface, StartElem(int) (Target, error)
pkg vdl, type ListTargetBase struct
pkg vdl, type MapTarget interface { FinishField, FinishKeyStartField, StartKey }
pkg vdl, type MapTarget interface, FinishField(Target, Target) error
pkg vdl, type MapTarget interface, FinishKeyStartField(Target) (Target, error)
pkg vdl, type MapTarget interface, StartKey() (Target, error)
pkg vdl, type MapTargetBase struct
pkg vdl, type PendingArray interface, AssignElem(TypeOrPending) PendingArray
pkg vdl, type PendingArray interface, AssignLen(int) PendingArray
pkg vdl, type PendingArray interface, Built() (*Type, error)
pkg vdl, type PendingArray interface, unexported methods
pkg vdl, type PendingEnum interface, AppendLabel(string) PendingEnum
pkg vdl, type PendingEnum interface, Built() (*Type, error)
pkg vdl, type PendingEnum interface, unexported methods
pkg vdl, type PendingList interface, AssignElem(TypeOrPending) PendingList
pkg vdl, type PendingList interface, Built() (*Type, error)
pkg vdl, type PendingList interface, unexported methods
pkg vdl, type PendingMap interface, AssignElem(TypeOrPending) PendingMap
pkg vdl, type PendingMap interface, AssignKey(TypeOrPending) PendingMap
pkg vdl, type PendingMap interface, Built() (*Type, error)
pkg vdl, type PendingMap interface, unexported methods
pkg vdl, type PendingNamed interface, AssignBase(TypeOrPending) PendingNamed
pkg vdl, type PendingNamed interface, Built() (*Type, error)
pkg vdl, type PendingNamed interface, unexported methods
pkg vdl, type PendingOptional interface, AssignElem(TypeOrPending) PendingOptional
pkg vdl, type PendingOptional interface, Built() (*Type, error)
pkg vdl, type PendingOptional interface, unexported methods
pkg vdl, type PendingSet interface, AssignKey(TypeOrPending) PendingSet
pkg vdl, type PendingSet interface, Built() (*Type, error)
pkg vdl, type PendingSet interface, unexported methods
pkg vdl, type PendingStruct interface, AppendField(string, TypeOrPending) PendingStruct
pkg vdl, type PendingStruct interface, Built() (*Type, error)
pkg vdl, type PendingStruct interface, NumField() int
pkg vdl, type PendingStruct interface, unexported methods
pkg vdl, type PendingType interface, Built() (*Type, error)
pkg vdl, type PendingType interface, unexported methods
pkg vdl, type PendingUnion interface, AppendField(string, TypeOrPending) PendingUnion
pkg vdl, type PendingUnion interface, Built() (*Type, error)
pkg vdl, type PendingUnion interface, NumField() int
pkg vdl, type PendingUnion interface, unexported methods
pkg vdl, type ReadWriter interface { VDLRead, VDLWrite }
pkg vdl, type ReadWriter interface, VDLRead(Decoder) error
pkg vdl, type ReadWriter interface, VDLWrite(Encoder) error
pkg vdl, type Reader interface { VDLRead }
pkg vdl, type Reader interface, VDLRead(Decoder) error
pkg vdl, type SetTarget interface { FinishKey, StartKey }
pkg vdl, type SetTarget interface, FinishKey(Target) error
pkg vdl, type SetTarget interface, StartKey() (Target, error)
pkg vdl, type SetTargetBase struct
pkg vdl, type StringSliceTarget struct
pkg vdl, type StringSliceTarget struct, Value *[]string
pkg vdl, type StringSliceTarget struct, embedded ListTargetBase
pkg vdl, type StringSliceTarget struct, embedded TargetBase
pkg vdl, type StringTarget struct
pkg vdl, type StringTarget struct, Value *string
pkg vdl, type StringTarget struct, embedded TargetBase
pkg vdl, type Target interface { FinishFields, FinishList, FinishMap, FinishSet, FromBool, FromBytes, FromEnumLabel, FromFloat, FromInt, FromNil, FromString, FromTypeObject, FromUint, StartFields, StartList, StartMap, StartSet }
pkg vdl, type Target interface, FinishFields(FieldsTarget) error
pkg vdl, type Target interface, FinishList(ListTarget) error
pkg vdl, type Target interface, FinishMap(MapTarget) error
pkg vdl, type Target interface, FinishSet(SetTarget) error
pkg vdl, type Target interface, FromBool(bool, *Type) error
pkg vdl, type Target interface, FromBytes([]byte, *Type) error
pkg vdl, type Target interface, FromEnumLabel(string, *Type) error
pkg vdl, type Target interface, FromFloat(float64, *Type) error
pkg vdl, type Target interface, FromInt(int64, *Type) error
pkg vdl, type Target interface, FromNil(*Type) error
pkg vdl, type Target interface, FromString(string, *Type) error
pkg vdl, type Target interface, FromTypeObject(*Type) error
pkg vdl, type Target interface, FromUint(uint64, *Type) error
pkg vdl, type Target interface, StartFields(*Type) (FieldsTarget, error)
pkg vdl, type Target interface, StartList(*Type, int) (ListTarget, error)
pkg vdl, type Target interface, StartMap(*Type, int) (MapTarget, error)
pkg vdl, type Target interface, StartSet(*Type, int) (SetTarget, error)
pkg vdl, type TargetBase struct
pkg vdl, type Targeter interface { FillVDLTarget, MakeVDLTarget }
pkg vdl, type Targeter interface, FillVDLTarget(Target, *Type) error
pkg vdl, type Targeter interface, MakeVDLTarget() Target
pkg vdl, type Type struct
pkg vdl, type TypeBuilder struct
pkg vdl, type TypeObjectTarget struct
pkg vdl, type TypeObjectTarget struct, Value **Type
pkg vdl, type TypeObjectTarget struct, embedded TargetBase
pkg vdl, type TypeOrPending interface, unexported methods
pkg vdl, type Uint16Target struct
pkg vdl, type Uint16Target struct, Value *uint16
pkg vdl, type Uint16Target struct, embedded TargetBase
pkg vdl, type Uint32Target struct
pkg vdl, type Uint32Target struct, Value *uint32
pkg vdl, type Uint32Target struct, embedded TargetBase
pkg vdl, type Uint64Target struct
pkg vdl, type Uint64Target struct, Value *uint64
pkg vdl, type Uint64Target struct, embedded TargetBase
pkg vdl, type Value struct
pkg vdl, type WalkMode int
pkg vdl, type WireError struct
pkg vdl, type WireError struct, Id string
pkg vdl, type WireError struct, Msg string
pkg vdl, type WireError struct, ParamList []*Value
pkg vdl, type WireError struct, RetryCode WireRetryCode
pkg vdl, type WireErrorTarget struct
pkg vdl, type WireErrorTarget struct, Value *WireError
pkg vdl, type WireErrorTarget struct, embedded FieldsTargetBase
pkg vdl, type WireErrorTarget struct, embedded TargetBase
pkg vdl, type WireRetryCode int
pkg vdl, type WireRetryCodeTarget struct
pkg vdl, type WireRetryCodeTarget struct, Value *WireRetryCode
pkg vdl, type WireRetryCodeTarget struct, embedded TargetBase
pkg vdl, type Writer interface { VDLWrite }
pkg vdl, type Writer interface, VDLWrite(Encoder) error
pkg vdl, var AnyType *Type
pkg vdl, var BoolType *Type
pkg vdl, var ByteType *Type
pkg vdl, var ErrFieldNoExist error
pkg vdl, var ErrorType *Type
pkg vdl, var Float32Type *Type
pkg vdl, var Float64Type *Type
pkg vdl, var Int16Type *Type
pkg vdl, var Int32Type *Type
pkg vdl, var Int64Type *Type
pkg vdl, var Int8Type *Type
pkg vdl, var StringType *Type
pkg vdl, var TypeObjectType *Type
pkg vdl, var Uint16Type *Type
pkg vdl, var Uint32Type *Type
pkg vdl, var Uint64Type *Type
pkg vdl, var WireRetryCodeAll [...]WireRetryCode
