_generated

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConstantInt    int    = 8
	ConstantInt8   int8   = 8
	ConstantInt16  int16  = 8
	ConstantInt32  int32  = 8
	ConstantInt64  int64  = 8
	ConstantUint   uint   = 8
	ConstantUint8  uint8  = 8
	ConstantUint16 uint16 = 8
	ConstantUint32 uint32 = 8
	ConstantUint64 uint64 = 8
)

Ensure all different widths of integer can be used as constant keys.

Variables

This section is empty.

Functions

This section is empty.

Types

type AliasContainer

type AliasContainer struct {
	Fast FastAlias
}

Test nested aliases

type AllowNil0 added in v1.1.7

type AllowNil0 struct {
	ABool       bool       `msg:"abool,allownil"`
	AInt        int        `msg:"aint,allownil"`
	AInt8       int8       `msg:"aint8,allownil"`
	AInt16      int16      `msg:"aint16,allownil"`
	AInt32      int32      `msg:"aint32,allownil"`
	AInt64      int64      `msg:"aint64,allownil"`
	AUint       uint       `msg:"auint,allownil"`
	AUint8      uint8      `msg:"auint8,allownil"`
	AUint16     uint16     `msg:"auint16,allownil"`
	AUint32     uint32     `msg:"auint32,allownil"`
	AUint64     uint64     `msg:"auint64,allownil"`
	AFloat32    float32    `msg:"afloat32,allownil"`
	AFloat64    float64    `msg:"afloat64,allownil"`
	AComplex64  complex64  `msg:"acomplex64,allownil"`
	AComplex128 complex128 `msg:"acomplex128,allownil"`

	ANamedBool    bool    `msg:"anamedbool,allownil"`
	ANamedInt     int     `msg:"anamedint,allownil"`
	ANamedFloat64 float64 `msg:"anamedfloat64,allownil"`

	AMapStrStr map[string]string `msg:"amapstrstr,allownil"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,allownil"`

	AString      string `msg:"astring,allownil"`
	ANamedString string `msg:"anamedstring,allownil"`
	AByteSlice   []byte `msg:"abyteslice,allownil"`

	ASliceString      []string      `msg:"aslicestring,allownil"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,allownil"`

	ANamedStruct    NamedStructAN  `msg:"anamedstruct,allownil"`
	APtrNamedStruct *NamedStructAN `msg:"aptrnamedstruct,allownil"`

	AUnnamedStruct struct {
		A string `msg:"a,allownil"`
	} `msg:"aunnamedstruct,allownil"` // allownil not supported on unnamed struct

	EmbeddableStructAN `msg:",flatten,allownil"` // embed flat

	EmbeddableStruct2AN `msg:"embeddablestruct2,allownil"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,allownil"` // not supported

	ATime time.Time `msg:"atime,allownil"`
}

type AllowNil1 added in v1.1.7

type AllowNil1 struct {
	ABool       []bool       `msg:"abool,allownil"`
	AInt        []int        `msg:"aint,allownil"`
	AInt8       []int8       `msg:"aint8,allownil"`
	AInt16      []int16      `msg:"aint16,allownil"`
	AInt32      []int32      `msg:"aint32,allownil"`
	AInt64      []int64      `msg:"aint64,allownil"`
	AUint       []uint       `msg:"auint,allownil"`
	AUint8      []uint8      `msg:"auint8,allownil"`
	AUint16     []uint16     `msg:"auint16,allownil"`
	AUint32     []uint32     `msg:"auint32,allownil"`
	AUint64     []uint64     `msg:"auint64,allownil"`
	AFloat32    []float32    `msg:"afloat32,allownil"`
	AFloat64    []float64    `msg:"afloat64,allownil"`
	AComplex64  []complex64  `msg:"acomplex64,allownil"`
	AComplex128 []complex128 `msg:"acomplex128,allownil"`

	ANamedBool    []bool    `msg:"anamedbool,allownil"`
	ANamedInt     []int     `msg:"anamedint,allownil"`
	ANamedFloat64 []float64 `msg:"anamedfloat64,allownil"`

	AMapStrStr map[string]string `msg:"amapstrstr,allownil"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,allownil"`

	AString      []string `msg:"astring,allownil"`
	ANamedString []string `msg:"anamedstring,allownil"`
	AByteSlice   []byte   `msg:"abyteslice,allownil"`

	ASliceString      []string      `msg:"aslicestring,allownil"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,allownil"`

	ANamedStruct    NamedStructAN  `msg:"anamedstruct,allownil"`
	APtrNamedStruct *NamedStructAN `msg:"aptrnamedstruct,allownil"`

	AUnnamedStruct struct {
		A []string `msg:"a,allownil"`
	} `msg:"aunnamedstruct,allownil"`

	*EmbeddableStructAN `msg:",flatten,allownil"` // embed flat

	*EmbeddableStruct2AN `msg:"embeddablestruct2,allownil"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,allownil"` // not supported

	ATime *time.Time `msg:"atime,allownil"`
}

type AllowNil10 added in v1.1.7

type AllowNil10 struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01,allownil"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03,allownil"`
	Field04 []string `msg:"field04,allownil"`
	Field05 []string `msg:"field05,allownil"`
	Field06 []string `msg:"field06,allownil"`
	Field07 []string `msg:"field07,allownil"`
	Field08 []string `msg:"field08,allownil"`
	Field09 []string `msg:"field09,allownil"`
}

type AllowNilHalfFull added in v1.1.7

type AllowNilHalfFull struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03"`
}

type AllowNilLotsOFields added in v1.1.7

type AllowNilLotsOFields struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01,allownil"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03,allownil"`
	Field04 []string `msg:"field04,allownil"`
	Field05 []string `msg:"field05,allownil"`
	Field06 []string `msg:"field06,allownil"`
	Field07 []string `msg:"field07,allownil"`
	Field08 []string `msg:"field08,allownil"`
	Field09 []string `msg:"field09,allownil"`
	Field10 []string `msg:"field10,allownil"`
	Field11 []string `msg:"field11,allownil"`
	Field12 []string `msg:"field12,allownil"`
	Field13 []string `msg:"field13,allownil"`
	Field14 []string `msg:"field14,allownil"`
	Field15 []string `msg:"field15,allownil"`
	Field16 []string `msg:"field16,allownil"`
	Field17 []string `msg:"field17,allownil"`
	Field18 []string `msg:"field18,allownil"`
	Field19 []string `msg:"field19,allownil"`
	Field20 []string `msg:"field20,allownil"`
	Field21 []string `msg:"field21,allownil"`
	Field22 []string `msg:"field22,allownil"`
	Field23 []string `msg:"field23,allownil"`
	Field24 []string `msg:"field24,allownil"`
	Field25 []string `msg:"field25,allownil"`
	Field26 []string `msg:"field26,allownil"`
	Field27 []string `msg:"field27,allownil"`
	Field28 []string `msg:"field28,allownil"`
	Field29 []string `msg:"field29,allownil"`
	Field30 []string `msg:"field30,allownil"`
	Field31 []string `msg:"field31,allownil"`
	Field32 []string `msg:"field32,allownil"`
	Field33 []string `msg:"field33,allownil"`
	Field34 []string `msg:"field34,allownil"`
	Field35 []string `msg:"field35,allownil"`
	Field36 []string `msg:"field36,allownil"`
	Field37 []string `msg:"field37,allownil"`
	Field38 []string `msg:"field38,allownil"`
	Field39 []string `msg:"field39,allownil"`
	Field40 []string `msg:"field40,allownil"`
	Field41 []string `msg:"field41,allownil"`
	Field42 []string `msg:"field42,allownil"`
	Field43 []string `msg:"field43,allownil"`
	Field44 []string `msg:"field44,allownil"`
	Field45 []string `msg:"field45,allownil"`
	Field46 []string `msg:"field46,allownil"`
	Field47 []string `msg:"field47,allownil"`
	Field48 []string `msg:"field48,allownil"`
	Field49 []string `msg:"field49,allownil"`
	Field50 []string `msg:"field50,allownil"`
	Field51 []string `msg:"field51,allownil"`
	Field52 []string `msg:"field52,allownil"`
	Field53 []string `msg:"field53,allownil"`
	Field54 []string `msg:"field54,allownil"`
	Field55 []string `msg:"field55,allownil"`
	Field56 []string `msg:"field56,allownil"`
	Field57 []string `msg:"field57,allownil"`
	Field58 []string `msg:"field58,allownil"`
	Field59 []string `msg:"field59,allownil"`
	Field60 []string `msg:"field60,allownil"`
	Field61 []string `msg:"field61,allownil"`
	Field62 []string `msg:"field62,allownil"`
	Field63 []string `msg:"field63,allownil"`
	Field64 []string `msg:"field64,allownil"`
	Field65 []string `msg:"field65,allownil"`
	Field66 []string `msg:"field66,allownil"`
	Field67 []string `msg:"field67,allownil"`
	Field68 []string `msg:"field68,allownil"`
	Field69 []string `msg:"field69,allownil"`
}

type AllowNilOmitEmpty added in v1.1.7

type AllowNilOmitEmpty struct {
	Field00 []string `msg:"field00,allownil,omitempty"`
	Field01 []string `msg:"field01,allownil"`
}

type AllowNilOmitEmpty2 added in v1.1.7

type AllowNilOmitEmpty2 struct {
	Field00 []string `msg:"field00,allownil,omitempty"`
	Field01 []string `msg:"field01,allownil,omitempty"`
}

type Any added in v1.2.0

type Any any

type Array16 added in v1.2.0

type Array16 [16]byte

type Array8 added in v1.2.0

type Array8 [8]byte

type ArrayConstants added in v1.1.0

type ArrayConstants struct {
	ConstantInt    [ConstantInt]string
	ConstantInt8   [ConstantInt8]string
	ConstantInt16  [ConstantInt16]string
	ConstantInt32  [ConstantInt32]string
	ConstantInt64  [ConstantInt64]string
	ConstantUint   [ConstantUint]string
	ConstantUint8  [ConstantUint8]string
	ConstantUint16 [ConstantUint16]string
	ConstantUint32 [ConstantUint32]string
	ConstantUint64 [ConstantUint64]string
	ConstantHex    [0x16]string
	ConstantOctal  [0o7]string
}

type Block

type Block [32]byte

type ClearOmitted0 added in v1.2.3

type ClearOmitted0 struct {
	AStruct    ClearOmittedA  `msg:"astruct,omitempty"`    // leave this one omitempty
	BStruct    ClearOmittedA  `msg:"bstruct,omitzero"`     // and compare to this
	AStructPtr *ClearOmittedA `msg:"astructptr,omitempty"` // a pointer case omitempty
	BStructPtr *ClearOmittedA `msg:"bstructptr,omitzero"`  // a pointer case omitzero
	AExt       OmitZeroExt    `msg:"aext,omitzero"`        // external type case

	// more
	APtrNamedStr        *NamedStringCO                     `msg:"aptrnamedstr,omitzero"`
	ANamedStruct        NamedStructCO                      `msg:"anamedstruct,omitzero"`
	APtrNamedStruct     *NamedStructCO                     `msg:"aptrnamedstruct,omitzero"`
	EmbeddableStructCO  `msg:",flatten,omitzero"`          // embed flat
	EmbeddableStructCO2 `msg:"embeddablestruct2,omitzero"` // embed non-flat
	ATime               time.Time                          `msg:"atime,omitzero"`
	ASlice              []int                              `msg:"aslice,omitempty"`
	AMap                map[string]int                     `msg:"amap,omitempty"`
	ABin                []byte                             `msg:"abin,omitempty"`
	AInt                int                                `msg:"aint,omitempty"`
	AString             string                             `msg:"atring,omitempty"`
	Adur                time.Duration                      `msg:"adur,omitempty"`
	AJSON               json.Number                        `msg:"ajson,omitempty"`
	AnAny               any                                `msg:"anany,omitempty"`

	ClearOmittedTuple ClearOmittedTuple `msg:"ozt"` // the inside of a tuple should ignore both omitempty and omitzero
}

type ClearOmitted1 added in v1.2.3

type ClearOmitted1 struct {
	T1 ClearOmittedTuple `msg:"t1"`
}

type ClearOmittedA added in v1.2.3

type ClearOmittedA struct {
	A string        `msg:"a,omitempty"`
	B NamedStringCO `msg:"b,omitzero"`
	C NamedStringCO `msg:"c,omitzero"`
}

func (*ClearOmittedA) IsZero added in v1.2.3

func (o *ClearOmittedA) IsZero() bool

type ClearOmittedTuple added in v1.2.3

type ClearOmittedTuple struct {
	FieldA string        `msg:"fielda,omitempty"`
	FieldB NamedStringCO `msg:"fieldb,omitzero"`
	FieldC NamedStringCO `msg:"fieldc,omitzero"`
}

ClearOmittedTuple is flagged for tuple output, it should ignore all omitempty and omitzero functionality since it's fundamentally incompatible.

type Common added in v1.1.1

type Common struct {
	RequestID uint32 `msg:"request_id"`
	Token     string `msg:"token"`
}

type CompatibleArray8 added in v1.2.0

type CompatibleArray8 [8]byte

type CompatibleFloat32 added in v1.2.0

type CompatibleFloat32 float32

type CompatibleFloat64 added in v1.2.0

type CompatibleFloat64 float64

type CompatibleInt added in v1.2.0

type CompatibleInt int

type CompatibleMapString added in v1.2.0

type CompatibleMapString map[string]string

type CompatibleSliceInt added in v1.2.0

type CompatibleSliceInt []Int

type CompatibleStructA added in v1.2.0

type CompatibleStructA struct {
	StructB StructB
	Int     Int
}

type CompatibleStructB added in v1.2.0

type CompatibleStructB struct {
	StructC StructC
	Any     Any
	Array8  Array8
}

type CompatibleStructC added in v1.2.0

type CompatibleStructC struct {
	StructD StructD
	Float64 Float32
	Float32 Float64
}

type CompatibleStructD added in v1.2.0

type CompatibleStructD struct {
	Time      Time
	Duration  Duration
	MapString MapString
}

type CompatibleStructI added in v1.2.0

type CompatibleStructI struct {
	Int  *Int
	Uint *Uint
}

type CompatibleStructS added in v1.2.0

type CompatibleStructS struct {
	Slice SliceInt
}

type ConvertErr added in v1.1.0

type ConvertErr struct {
	Err ConvertErrVal
}

type ConvertErrVal added in v1.1.0

type ConvertErrVal string

type ConvertIntf added in v1.1.0

type ConvertIntf struct {
	Intf ConvertIntfVal
}

type ConvertIntfVal added in v1.1.0

type ConvertIntfVal struct {
	Test string
}

type ConvertString added in v1.1.0

type ConvertString struct {
	String ConvertStringVal
}

type ConvertStringMapValue added in v1.1.0

type ConvertStringMapValue struct {
	Strings map[string]ConvertStringVal
}

type ConvertStringSlice added in v1.1.0

type ConvertStringSlice struct {
	Strings []ConvertStringVal
}

type ConvertStringVal added in v1.1.0

type ConvertStringVal string

type Custom

type Custom struct {
	Bts   CustomBytes          `msg:"bts"`
	Mp    map[string]*Embedded `msg:"mp"`
	Enums []MyEnum             `msg:"enums"` // test explicit enum shim
	Some  FileHandle           `msg:"file_handle"`
}

type CustomBytes

type CustomBytes []byte

type CustomInt

type CustomInt int

type CustomTag added in v1.2.0

type CustomTag struct {
	Foo string `mytag:"foo_custom_name"`
	Bar int    `mytag:"bar1234"`
}

type Dummy added in v1.2.0

type Dummy struct {
	StructA StructA
	StructI StructI
	StructS StructS
	Array16 Array16
	Uint    Uint
	String  String
}

type Duration added in v1.2.0

type Duration time.Duration

type EmbeddableStruct added in v1.1.1

type EmbeddableStruct struct {
	SomeEmbed string `msg:"someembed,omitempty"`
}

type EmbeddableStruct2 added in v1.1.1

type EmbeddableStruct2 struct {
	SomeEmbed2 string `msg:"someembed2,omitempty"`
}

type EmbeddableStruct2AN added in v1.1.7

type EmbeddableStruct2AN struct {
	SomeEmbed2 []string `msg:"someembed2,allownil"`
}

type EmbeddableStruct2Pointer added in v1.2.1

type EmbeddableStruct2Pointer struct {
	SomeEmbed2 string `msg:"someembed2"`
}

type EmbeddableStructAN added in v1.1.7

type EmbeddableStructAN struct {
	SomeEmbed []string `msg:"someembed,allownil"`
}

type EmbeddableStructCO added in v1.2.3

type EmbeddableStructCO struct {
	SomeEmbed string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructCO) IsZero added in v1.2.3

func (es EmbeddableStructCO) IsZero() bool

type EmbeddableStructCO2 added in v1.2.3

type EmbeddableStructCO2 struct {
	SomeEmbed2 string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructCO2) IsZero added in v1.2.3

func (es EmbeddableStructCO2) IsZero() bool

type EmbeddableStructOZ added in v1.2.0

type EmbeddableStructOZ struct {
	SomeEmbed string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructOZ) IsZero added in v1.2.0

func (es EmbeddableStructOZ) IsZero() bool

type EmbeddableStructOZ2 added in v1.2.0

type EmbeddableStructOZ2 struct {
	SomeEmbed2 string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructOZ2) IsZero added in v1.2.0

func (es EmbeddableStructOZ2) IsZero() bool

type EmbeddableStructPointer added in v1.2.1

type EmbeddableStructPointer struct {
	SomeEmbed string `msg:"someembed"`
}

type Embedded

type Embedded struct {
	*Embedded   // test embedded field
	Children    []Embedded
	PtrChildren []*Embedded
	Other       string
}

type EmptyStruct added in v1.2.0

type EmptyStruct struct{}

type ErrorCtxAsMap added in v1.1.0

type ErrorCtxAsMap struct {
	Val          string
	Child        *ErrorCtxMapChild
	Children     []*ErrorCtxMapChild
	ComplexChild *ErrorCtxMapChildNotInline
	Map          map[string]string

	Nest struct {
		Val      string
		Child    *ErrorCtxMapChild
		Children []*ErrorCtxMapChild
		Map      map[string]string

		Nest struct {
			Val      string
			Child    *ErrorCtxMapChild
			Children []*ErrorCtxMapChild
			Map      map[string]string
		}
	}
}

type ErrorCtxAsTuple added in v1.1.0

type ErrorCtxAsTuple struct {
	Val          string
	Child        *ErrorCtxTupleChild
	Children     []*ErrorCtxTupleChild
	ComplexChild *ErrorCtxTupleChildNotInline
	Map          map[string]string

	Nest struct {
		Val      string
		Child    *ErrorCtxTupleChild
		Children []*ErrorCtxTupleChild
		Map      map[string]string

		Nest struct {
			Val      string
			Child    *ErrorCtxTupleChild
			Children []*ErrorCtxTupleChild
			Map      map[string]string
		}
	}
}

type ErrorCtxMapChild added in v1.1.0

type ErrorCtxMapChild struct {
	Val string
}

type ErrorCtxMapChildNotInline added in v1.1.0

type ErrorCtxMapChildNotInline struct {
	Val1, Val2, Val3, Val4, Val5 string
}

type ErrorCtxTupleChild added in v1.1.0

type ErrorCtxTupleChild struct {
	Val string
}

type ErrorCtxTupleChildNotInline added in v1.1.0

type ErrorCtxTupleChildNotInline struct {
	Val1, Val2, Val3, Val4, Val5 string
}

type F64 added in v1.2.2

type F64 float64

type FastAlias

type FastAlias TestFast

Test nested aliases

type FileHandle

type FileHandle struct {
	Relevant Files  `msg:"files"`
	Name     string `msg:"name"`
}

type Files

type Files []*os.File

type Fixed

type Fixed struct {
	A float64
	B bool
}

test fixed-size struct size compilation

type Float32 added in v1.2.0

type Float32 float32

type Float64 added in v1.2.0

type Float64 float64

type Floats added in v1.2.2

type Floats struct {
	A     float64
	B     float32
	Slice []float64
	Map   map[string]float64
	F     F64
	OE    float64 `msg:",omitempty"`
}

type Flob added in v1.2.5

type Flob struct {
	X Numberwang `msg:"x"`
	Y int8       `msg:"y"`
	Z int8       `msg:"z"`
	W int32      `msg:"w"`
}

type Flobbity added in v1.2.5

type Flobbity struct {
	A Flobs `msg:"a,omitempty"`
	B Flobs `msg:"b,omitempty"`
}

type Flobs added in v1.2.5

type Flobs []Flob

type Foo added in v1.1.1

type Foo struct {
	I struct{}
	// contains filtered or unexported fields
}

type GetUserRequest added in v1.1.1

type GetUserRequest struct {
	RequestID uint32 `msg:"request_id"`
	Token     string `msg:"token"`
	UserID    uint32 `msg:"user_id"`
}

type GetUserRequestWithEmbeddedStruct added in v1.1.1

type GetUserRequestWithEmbeddedStruct struct {
	Common `msg:",flatten"`
	UserID uint32 `msg:"user_id"`
}

type Insane

type Insane [3]map[string]struct{ A, B CustomInt }

type Int added in v1.2.0

type Int int

type IntA

type IntA int

Test dependency resolution

type IntB

type IntB IntA

Test dependency resolution

type IntC

type IntC IntB

Test dependency resolution

type Issue102 added in v1.1.0

type Issue102 struct{}

type Issue102MapUsesTuple added in v1.1.0

type Issue102MapUsesTuple struct {
	Nested    Issue102Tuple
	NestedPtr *Issue102Tuple
}

type Issue102Tuple added in v1.1.0

type Issue102Tuple struct{}

type Issue102TupleDeep added in v1.1.0

type Issue102TupleDeep struct {
	A int
	X struct{}
	Y struct{}
	Z int
}

type Issue102TupleUsesMap added in v1.1.0

type Issue102TupleUsesMap struct {
	Nested    Issue102
	NestedPtr *Issue102
}

type Issue102TupleUsesTuple added in v1.1.0

type Issue102TupleUsesTuple struct {
	Nested    Issue102Tuple
	NestedPtr *Issue102Tuple
}

type Issue102Uses added in v1.1.0

type Issue102Uses struct {
	Nested    Issue102
	NestedPtr *Issue102
}

type Issue102deep added in v1.1.0

type Issue102deep struct {
	A int
	X struct{}
	Y struct{}
	Z int
}

type Issue191 added in v1.1.0

type Issue191 struct {
	Foo string
	Bar string
}

type MapAny added in v1.2.0

type MapAny map[string]any

type MapString added in v1.2.0

type MapString map[string]string

type MyEnum

type MyEnum byte
const (
	A MyEnum = iota
	B
	C
	D
)

func (MyEnum) String

func (m MyEnum) String() string

type NamedBool added in v1.1.1

type NamedBool bool

type NamedBoolPointer added in v1.2.1

type NamedBoolPointer bool

type NamedFloat64 added in v1.1.1

type NamedFloat64 float64

type NamedFloat64Pointer added in v1.2.1

type NamedFloat64Pointer float64

type NamedInt added in v1.1.1

type NamedInt int

type NamedIntPointer added in v1.2.1

type NamedIntPointer int

type NamedMapStringPointer added in v1.2.1

type NamedMapStringPointer map[string]NamedStringPointer

type NamedMapStringPointer2 added in v1.2.1

type NamedMapStringPointer2 map[string]*NamedStringPointer

type NamedMapStructPointer added in v1.2.1

type NamedMapStructPointer map[string]Pointer0

type NamedMapStructPointer2 added in v1.2.1

type NamedMapStructPointer2 map[string]*Pointer0

type NamedString added in v1.1.1

type NamedString string

type NamedStringCO added in v1.2.3

type NamedStringCO string

func (*NamedStringCO) IsZero added in v1.2.3

func (ns *NamedStringCO) IsZero() bool

type NamedStringOZ added in v1.2.0

type NamedStringOZ string

func (*NamedStringOZ) IsZero added in v1.2.0

func (ns *NamedStringOZ) IsZero() bool

type NamedStringPointer added in v1.2.1

type NamedStringPointer string

type NamedStruct added in v1.1.1

type NamedStruct struct {
	A string `msg:"a,omitempty"`
	B string `msg:"b,omitempty"`
}

type NamedStructAN added in v1.1.7

type NamedStructAN struct {
	A []string `msg:"a,allownil"`
	B []string `msg:"b,allownil"`
}

type NamedStructCO added in v1.2.3

type NamedStructCO struct {
	A string `msg:"a,omitempty"`
	B string `msg:"b,omitempty"`
}

func (*NamedStructCO) IsZero added in v1.2.3

func (ns *NamedStructCO) IsZero() bool

type NamedStructOZ added in v1.2.0

type NamedStructOZ struct {
	A string `msg:"a,omitempty"`
	B string `msg:"b,omitempty"`
}

func (*NamedStructOZ) IsZero added in v1.2.0

func (ns *NamedStructOZ) IsZero() bool

type NamedStructPointer added in v1.2.1

type NamedStructPointer struct {
	A string `msg:"a"`
	B string `msg:"b"`
}

type NewTime added in v1.2.4

type NewTime struct {
	T     time.Time
	Array []time.Time
	Map   map[string]time.Time
}

func (NewTime) Equal added in v1.2.4

func (t1 NewTime) Equal(t2 NewTime) bool

type NoAllowNil added in v1.2.3

type NoAllowNil []byte

Primitive types cannot have allownil for now.

type NonMsgStructTags added in v1.1.0

type NonMsgStructTags struct {
	A      []string `json:"fooJSON" msg:"fooMsgp"`
	B      string   `json:"barJSON"`
	C      []string `json:"bazJSON" msg:"-"`
	Nested []struct {
		A          []string `json:"a"`
		B          string   `json:"b"`
		C          []string `json:"c"`
		VeryNested []struct {
			A []string            `json:"a"`
			B []string            `msg:"bbbb" xml:"-"`
			C map[string]struct{} `msg:"cccc"`
		}
	}
}

type NotAllowNil10 added in v1.1.7

type NotAllowNil10 struct {
	Field00 []string `msg:"field00"`
	Field01 []string `msg:"field01"`
	Field02 []string `msg:"field02"`
	Field03 []string `msg:"field03"`
	Field04 []string `msg:"field04"`
	Field05 []string `msg:"field05"`
	Field06 []string `msg:"field06"`
	Field07 []string `msg:"field07"`
	Field08 []string `msg:"field08"`
	Field09 []string `msg:"field09"`
}

type NotOmitEmpty10 added in v1.1.1

type NotOmitEmpty10 struct {
	Field00 string `msg:"field00"`
	Field01 string `msg:"field01"`
	Field02 string `msg:"field02"`
	Field03 string `msg:"field03"`
	Field04 string `msg:"field04"`
	Field05 string `msg:"field05"`
	Field06 string `msg:"field06"`
	Field07 string `msg:"field07"`
	Field08 string `msg:"field08"`
	Field09 string `msg:"field09"`
}

type NumberJSONSample added in v1.2.2

type NumberJSONSample struct {
	Single json.Number
	Array  []json.Number
	Map    map[string]json.Number
	OE     json.Number `msg:",omitempty"`
}

type NumberJSONSampleReplace added in v1.2.2

type NumberJSONSampleReplace struct {
	Single json.Number
	Array  []json.Number
	Map    map[string]json.Number
}

type Numberwang added in v1.2.5

type Numberwang int8

type Object

type Object struct {
	ObjectNo        string   `msg:"objno"`
	Slice1          []string `msg:"slice1"`
	Slice2          []string `msg:"slice2"`
	MapMap          map[string]map[string]string
	MapStringEmpty  map[string]struct{}
	MapStringEmpty2 map[string]EmptyStruct
	ZCBytes         []byte                       `msg:",zerocopy"`
	ZCBytesAN       []byte                       `msg:",zerocopy,allownil"`
	ZCBytesOE       []byte                       `msg:",zerocopy,omitempty"`
	ZCBytesSlice    [][]byte                     `msg:",zerocopy"`
	ZCBytesArr      [2][]byte                    `msg:",zerocopy"`
	ZCBytesMap      map[string][]byte            `msg:",zerocopy"`
	ZCBytesMapDeep  map[string]map[string][]byte `msg:",zerocopy"`
	CustomBytes     CustomBytes                  `msg:",zerocopy"`
}

type OmitEmpty0 added in v1.1.1

type OmitEmpty0 struct {
	ABool       bool       `msg:"abool,omitempty"`
	AInt        int        `msg:"aint,omitempty"`
	AInt8       int8       `msg:"aint8,omitempty"`
	AInt16      int16      `msg:"aint16,omitempty"`
	AInt32      int32      `msg:"aint32,omitempty"`
	AInt64      int64      `msg:"aint64,omitempty"`
	AUint       uint       `msg:"auint,omitempty"`
	AUint8      uint8      `msg:"auint8,omitempty"`
	AUint16     uint16     `msg:"auint16,omitempty"`
	AUint32     uint32     `msg:"auint32,omitempty"`
	AUint64     uint64     `msg:"auint64,omitempty"`
	AFloat32    float32    `msg:"afloat32,omitempty"`
	AFloat64    float64    `msg:"afloat64,omitempty"`
	AComplex64  complex64  `msg:"acomplex64,omitempty"`
	AComplex128 complex128 `msg:"acomplex128,omitempty"`

	ANamedBool    bool    `msg:"anamedbool,omitempty"`
	ANamedInt     int     `msg:"anamedint,omitempty"`
	ANamedFloat64 float64 `msg:"anamedfloat64,omitempty"`

	AMapStrStr map[string]string `msg:"amapstrstr,omitempty"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,omitempty"`

	AString         string            `msg:"astring,omitempty"`
	ANamedString    string            `msg:"anamedstring,omitempty"`
	AByteSlice      []byte            `msg:"abyteslice,omitempty"`
	ASliceByteSlice [][]byte          `msg:"aslicebyteslice,omitempty"`
	AMapByteSlice   map[string][]byte `msg:"amapbyteslice,omitempty"`

	ASliceString      []string      `msg:"aslicestring,omitempty"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,omitempty"`

	ANamedStruct    NamedStruct  `msg:"anamedstruct,omitempty"`
	APtrNamedStruct *NamedStruct `msg:"aptrnamedstruct,omitempty"`

	AUnnamedStruct struct {
		A string `msg:"a,omitempty"`
	} `msg:"aunnamedstruct,omitempty"` // omitempty not supported on unnamed struct

	EmbeddableStruct `msg:",flatten,omitempty"` // embed flat

	EmbeddableStruct2 `msg:"embeddablestruct2,omitempty"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,omitempty"` // not supported

	ATime time.Time `msg:"atime,omitempty"`
}

type OmitEmpty10 added in v1.1.1

type OmitEmpty10 struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01,omitempty"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03,omitempty"`
	Field04 string `msg:"field04,omitempty"`
	Field05 string `msg:"field05,omitempty"`
	Field06 string `msg:"field06,omitempty"`
	Field07 string `msg:"field07,omitempty"`
	Field08 string `msg:"field08,omitempty"`
	Field09 string `msg:"field09,omitempty"`
}

type OmitEmptyHalfFull added in v1.1.1

type OmitEmptyHalfFull struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03"`
}

type OmitEmptyLotsOFields added in v1.1.1

type OmitEmptyLotsOFields struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01,omitempty"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03,omitempty"`
	Field04 string `msg:"field04,omitempty"`
	Field05 string `msg:"field05,omitempty"`
	Field06 string `msg:"field06,omitempty"`
	Field07 string `msg:"field07,omitempty"`
	Field08 string `msg:"field08,omitempty"`
	Field09 string `msg:"field09,omitempty"`
	Field10 string `msg:"field10,omitempty"`
	Field11 string `msg:"field11,omitempty"`
	Field12 string `msg:"field12,omitempty"`
	Field13 string `msg:"field13,omitempty"`
	Field14 string `msg:"field14,omitempty"`
	Field15 string `msg:"field15,omitempty"`
	Field16 string `msg:"field16,omitempty"`
	Field17 string `msg:"field17,omitempty"`
	Field18 string `msg:"field18,omitempty"`
	Field19 string `msg:"field19,omitempty"`
	Field20 string `msg:"field20,omitempty"`
	Field21 string `msg:"field21,omitempty"`
	Field22 string `msg:"field22,omitempty"`
	Field23 string `msg:"field23,omitempty"`
	Field24 string `msg:"field24,omitempty"`
	Field25 string `msg:"field25,omitempty"`
	Field26 string `msg:"field26,omitempty"`
	Field27 string `msg:"field27,omitempty"`
	Field28 string `msg:"field28,omitempty"`
	Field29 string `msg:"field29,omitempty"`
	Field30 string `msg:"field30,omitempty"`
	Field31 string `msg:"field31,omitempty"`
	Field32 string `msg:"field32,omitempty"`
	Field33 string `msg:"field33,omitempty"`
	Field34 string `msg:"field34,omitempty"`
	Field35 string `msg:"field35,omitempty"`
	Field36 string `msg:"field36,omitempty"`
	Field37 string `msg:"field37,omitempty"`
	Field38 string `msg:"field38,omitempty"`
	Field39 string `msg:"field39,omitempty"`
	Field40 string `msg:"field40,omitempty"`
	Field41 string `msg:"field41,omitempty"`
	Field42 string `msg:"field42,omitempty"`
	Field43 string `msg:"field43,omitempty"`
	Field44 string `msg:"field44,omitempty"`
	Field45 string `msg:"field45,omitempty"`
	Field46 string `msg:"field46,omitempty"`
	Field47 string `msg:"field47,omitempty"`
	Field48 string `msg:"field48,omitempty"`
	Field49 string `msg:"field49,omitempty"`
	Field50 string `msg:"field50,omitempty"`
	Field51 string `msg:"field51,omitempty"`
	Field52 string `msg:"field52,omitempty"`
	Field53 string `msg:"field53,omitempty"`
	Field54 string `msg:"field54,omitempty"`
	Field55 string `msg:"field55,omitempty"`
	Field56 string `msg:"field56,omitempty"`
	Field57 string `msg:"field57,omitempty"`
	Field58 string `msg:"field58,omitempty"`
	Field59 string `msg:"field59,omitempty"`
	Field60 string `msg:"field60,omitempty"`
	Field61 string `msg:"field61,omitempty"`
	Field62 string `msg:"field62,omitempty"`
	Field63 string `msg:"field63,omitempty"`
	Field64 string `msg:"field64,omitempty"`
	Field65 string `msg:"field65,omitempty"`
	Field66 string `msg:"field66,omitempty"`
	Field67 string `msg:"field67,omitempty"`
	Field68 string `msg:"field68,omitempty"`
	Field69 string `msg:"field69,omitempty"`
}

type OmitEmptyNoName added in v1.2.0

type OmitEmptyNoName struct {
	ABool       bool       `msg:",omitempty"`
	AInt        int        `msg:",omitempty"`
	AInt8       int8       `msg:",omitempty"`
	AInt16      int16      `msg:",omitempty"`
	AInt32      int32      `msg:",omitempty"`
	AInt64      int64      `msg:",omitempty"`
	AUint       uint       `msg:",omitempty"`
	AUint8      uint8      `msg:",omitempty"`
	AUint16     uint16     `msg:",omitempty"`
	AUint32     uint32     `msg:",omitempty"`
	AUint64     uint64     `msg:",omitempty"`
	AFloat32    float32    `msg:",omitempty"`
	AFloat64    float64    `msg:",omitempty"`
	AComplex64  complex64  `msg:",omitempty"`
	AComplex128 complex128 `msg:",omitempty"`

	ANamedBool    bool    `msg:",omitempty"`
	ANamedInt     int     `msg:",omitempty"`
	ANamedFloat64 float64 `msg:",omitempty"`

	AMapStrStr map[string]string `msg:",omitempty"`

	APtrNamedStr *NamedString `msg:",omitempty"`

	AString    string `msg:",omitempty"`
	AByteSlice []byte `msg:",omitempty"`

	ASliceString      []string      `msg:",omitempty"`
	ASliceNamedString []NamedString `msg:",omitempty"`

	ANamedStruct    NamedStruct  `msg:",omitempty"`
	APtrNamedStruct *NamedStruct `msg:",omitempty"`

	AUnnamedStruct struct {
		A string `msg:",omitempty"`
	} `msg:",omitempty"` // omitempty not supported on unnamed struct

	EmbeddableStruct `msg:",flatten,omitempty"` // embed flat

	EmbeddableStruct2 `msg:",omitempty"` // embed non-flat

	AArrayInt [5]int `msg:",omitempty"` // not supported

	ATime time.Time `msg:",omitempty"`
}

type OmitZero0 added in v1.2.0

type OmitZero0 struct {
	AStruct    OmitZeroA       `msg:"astruct,omitempty"`    // leave this one omitempty
	BStruct    OmitZeroA       `msg:"bstruct,omitzero"`     // and compare to this
	AStructPtr *OmitZeroA      `msg:"astructptr,omitempty"` // a pointer case omitempty
	BStructPtr *OmitZeroA      `msg:"bstructptr,omitzero"`  // a pointer case omitzero
	AExt       OmitZeroExt     `msg:"aext,omitzero"`        // external type case
	AExtPtr    *OmitZeroExtPtr `msg:"aextptr,omitzero"`     // external type pointer case

	// more
	APtrNamedStr       *NamedStringOZ                     `msg:"aptrnamedstr,omitzero"`
	ANamedStruct       NamedStructOZ                      `msg:"anamedstruct,omitzero"`
	APtrNamedStruct    *NamedStructOZ                     `msg:"aptrnamedstruct,omitzero"`
	EmbeddableStruct   `msg:",flatten,omitzero"`          // embed flat
	EmbeddableStructOZ `msg:"embeddablestruct2,omitzero"` // embed non-flat
	ATime              time.Time                          `msg:"atime,omitzero"`

	OmitZeroTuple OmitZeroTuple `msg:"ozt"` // the inside of a tuple should ignore both omitempty and omitzero
}

type OmitZero1 added in v1.2.0

type OmitZero1 struct {
	T1 OmitZeroTuple `msg:"t1"`
}

type OmitZeroA added in v1.2.0

type OmitZeroA struct {
	A string        `msg:"a,omitempty"`
	B NamedStringOZ `msg:"b,omitzero"`
	C NamedStringOZ `msg:"c,omitzero"`
}

func (*OmitZeroA) IsZero added in v1.2.0

func (o *OmitZeroA) IsZero() bool

type OmitZeroExt added in v1.2.0

type OmitZeroExt struct {
	// contains filtered or unexported fields
}

func (*OmitZeroExt) DecodeMsg added in v1.2.0

func (o *OmitZeroExt) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (OmitZeroExt) EncodeMsg added in v1.2.0

func (o OmitZeroExt) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (OmitZeroExt) IsZero added in v1.2.0

func (o OmitZeroExt) IsZero() bool

IsZero will return true if a is not positive

func (OmitZeroExt) MarshalMsg added in v1.2.0

func (o OmitZeroExt) MarshalMsg(b []byte) (ret []byte, err error)

MarshalMsg implements msgp.Marshaler

func (OmitZeroExt) Msgsize added in v1.2.0

func (o OmitZeroExt) Msgsize() (s int)

Msgsize implements msgp.Msgsizer

func (*OmitZeroExt) UnmarshalMsg added in v1.2.0

func (o *OmitZeroExt) UnmarshalMsg(bts []byte) (ret []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type OmitZeroExtPtr added in v1.2.0

type OmitZeroExtPtr struct {
	// contains filtered or unexported fields
}

func (*OmitZeroExtPtr) DecodeMsg added in v1.2.0

func (o *OmitZeroExtPtr) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*OmitZeroExtPtr) EncodeMsg added in v1.2.0

func (o *OmitZeroExtPtr) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*OmitZeroExtPtr) IsZero added in v1.2.0

func (o *OmitZeroExtPtr) IsZero() bool

IsZero will return true if a is nil or not positive

func (*OmitZeroExtPtr) MarshalMsg added in v1.2.0

func (o *OmitZeroExtPtr) MarshalMsg(b []byte) (ret []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*OmitZeroExtPtr) Msgsize added in v1.2.0

func (o *OmitZeroExtPtr) Msgsize() (s int)

Msgsize implements msgp.Msgsizer

func (*OmitZeroExtPtr) UnmarshalMsg added in v1.2.0

func (o *OmitZeroExtPtr) UnmarshalMsg(bts []byte) (ret []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type OmitZeroTuple added in v1.2.0

type OmitZeroTuple struct {
	FieldA string        `msg:"fielda,omitempty"`
	FieldB NamedStringOZ `msg:"fieldb,omitzero"`
	FieldC NamedStringOZ `msg:"fieldc,omitzero"`
}

OmitZeroTuple is flagged for tuple output, it should ignore all omitempty and omitzero functionality since it's fundamentally incompatible.

type Pointer0 added in v1.2.1

type Pointer0 struct {
	ABool       bool       `msg:"abool"`
	AInt        int        `msg:"aint"`
	AInt8       int8       `msg:"aint8"`
	AInt16      int16      `msg:"aint16"`
	AInt32      int32      `msg:"aint32"`
	AInt64      int64      `msg:"aint64"`
	AUint       uint       `msg:"auint"`
	AUint8      uint8      `msg:"auint8"`
	AUint16     uint16     `msg:"auint16"`
	AUint32     uint32     `msg:"auint32"`
	AUint64     uint64     `msg:"auint64"`
	AFloat32    float32    `msg:"afloat32"`
	AFloat64    float64    `msg:"afloat64"`
	AComplex64  complex64  `msg:"acomplex64"`
	AComplex128 complex128 `msg:"acomplex128"`

	ANamedBool    bool    `msg:"anamedbool"`
	ANamedInt     int     `msg:"anamedint"`
	ANamedFloat64 float64 `msg:"anamedfloat64"`

	AMapStrStr map[string]string `msg:"amapstrstr"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr"`

	AString      string `msg:"astring"`
	ANamedString string `msg:"anamedstring"`
	AByteSlice   []byte `msg:"abyteslice"`

	ASliceString      []string      `msg:"aslicestring"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring"`

	ANamedStruct    NamedStruct  `msg:"anamedstruct"`
	APtrNamedStruct *NamedStruct `msg:"aptrnamedstruct"`

	AUnnamedStruct struct {
		A string `msg:"a"`
	} `msg:"aunnamedstruct"` // omitempty not supported on unnamed struct

	EmbeddableStruct `msg:",flatten"` // embed flat

	EmbeddableStruct2 `msg:"embeddablestruct2"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint"` // not supported

	ATime time.Time `msg:"atime"`
}

type PointerHalfFull added in v1.2.1

type PointerHalfFull struct {
	Field00 string `msg:"field00"`
	Field01 string `msg:"field01"`
	Field02 string `msg:"field02"`
	Field03 string `msg:"field03"`
}

type PointerNoName added in v1.2.1

type PointerNoName struct {
	ABool       bool       `msg:""`
	AInt        int        `msg:""`
	AInt8       int8       `msg:""`
	AInt16      int16      `msg:""`
	AInt32      int32      `msg:""`
	AInt64      int64      `msg:""`
	AUint       uint       `msg:""`
	AUint8      uint8      `msg:""`
	AUint16     uint16     `msg:""`
	AUint32     uint32     `msg:""`
	AUint64     uint64     `msg:""`
	AFloat32    float32    `msg:""`
	AFloat64    float64    `msg:""`
	AComplex64  complex64  `msg:""`
	AComplex128 complex128 `msg:""`

	ANamedBool    bool    `msg:""`
	ANamedInt     int     `msg:""`
	ANamedFloat64 float64 `msg:""`

	AMapStrF       map[string]NamedFloat64Pointer `msg:""`
	AMapStrStruct  map[string]PointerHalfFull     `msg:""`
	AMapStrStruct2 map[string]*PointerHalfFull    `msg:""`

	APtrNamedStr *NamedStringPointer `msg:""`

	AString    string `msg:""`
	AByteSlice []byte `msg:""`

	ASliceString      []string             `msg:""`
	ASliceNamedString []NamedStringPointer `msg:""`

	ANamedStruct    NamedStructPointer  `msg:""`
	APtrNamedStruct *NamedStructPointer `msg:""`

	AUnnamedStruct struct {
		A string `msg:""`
	} `msg:""` // omitempty not supported on unnamed struct

	EmbeddableStructPointer `msg:",flatten"` // embed flat

	EmbeddableStruct2Pointer `msg:""` // embed non-flat

	AArrayInt [5]int `msg:""` // not supported

	ATime time.Time     `msg:""`
	ADur  time.Duration `msg:""`
}

type SetOf added in v1.3.0

type SetOf struct {
	String        setof.String
	StringSorted  setof.StringSorted
	Int           setof.Int
	IntSorted     setof.IntSorted
	Int64         setof.Int64
	Int64Sorted   setof.Int64Sorted
	Int32         setof.Int32
	Int32Sorted   setof.Int32Sorted
	Int16         setof.Int16
	Int16Sorted   setof.Int16Sorted
	Int8          setof.Int8
	Int8Sorted    setof.Int8Sorted
	Byte          setof.Byte
	ByteSorted    setof.ByteSorted
	Uint          setof.Uint
	UintSorted    setof.UintSorted
	Uint64        setof.Uint64
	Uint64Sorted  setof.Uint64Sorted
	Uint32        setof.Uint32
	Uint32Sorted  setof.Uint32Sorted
	Uint16        setof.Uint16
	Uint16Sorted  setof.Uint16Sorted
	Uint8         setof.Uint8
	Uint8Sorted   setof.Uint8Sorted
	Float32       setof.Float32
	Float32Sorted setof.Float32Sorted
	Float64       setof.Float64
	Float64Sorted setof.Float64Sorted
}

type SetOfTuple added in v1.3.0

type SetOfTuple struct {
	String        setof.String
	StringSorted  setof.StringSorted
	Int           setof.Int
	IntSorted     setof.IntSorted
	Int64         setof.Int64
	Int64Sorted   setof.Int64Sorted
	Int32         setof.Int32
	Int32Sorted   setof.Int32Sorted
	Int16         setof.Int16
	Int16Sorted   setof.Int16Sorted
	Int8          setof.Int8
	Int8Sorted    setof.Int8Sorted
	Byte          setof.Byte
	ByteSorted    setof.ByteSorted
	Uint          setof.Uint
	UintSorted    setof.UintSorted
	Uint64        setof.Uint64
	Uint64Sorted  setof.Uint64Sorted
	Uint32        setof.Uint32
	Uint32Sorted  setof.Uint32Sorted
	Uint16        setof.Uint16
	Uint16Sorted  setof.Uint16Sorted
	Uint8         setof.Uint8
	Uint8Sorted   setof.Uint8Sorted
	Float32       setof.Float32
	Float32Sorted setof.Float32Sorted
	Float64       setof.Float64
	Float64Sorted setof.Float64Sorted
}

type SliceInt added in v1.2.0

type SliceInt []Int

type SliceString added in v1.2.0

type SliceString []String

type SpecialID

type SpecialID string

type String added in v1.2.0

type String string

type StructA added in v1.2.0

type StructA struct {
	StructB StructB
	Int     Int
}

type StructB added in v1.2.0

type StructB struct {
	StructC StructC
	Any     Any
	Array8  Array8
}

type StructByteSlice added in v1.2.2

type StructByteSlice struct {
	ABytes      []byte       `msg:",allownil"`
	AString     []string     `msg:",allownil"`
	ABool       []bool       `msg:",allownil"`
	AInt        []int        `msg:",allownil"`
	AInt8       []int8       `msg:",allownil"`
	AInt16      []int16      `msg:",allownil"`
	AInt32      []int32      `msg:",allownil"`
	AInt64      []int64      `msg:",allownil"`
	AUint       []uint       `msg:",allownil"`
	AUint8      []uint8      `msg:",allownil"`
	AUint16     []uint16     `msg:",allownil"`
	AUint32     []uint32     `msg:",allownil"`
	AUint64     []uint64     `msg:",allownil"`
	AFloat32    []float32    `msg:",allownil"`
	AFloat64    []float64    `msg:",allownil"`
	AComplex64  []complex64  `msg:",allownil"`
	AComplex128 []complex128 `msg:",allownil"`
	AStruct     []Fixed      `msg:",allownil"`
}

type StructC added in v1.2.0

type StructC struct {
	StructD StructD
	Float64 Float32
	Float32 Float64
}

type StructD added in v1.2.0

type StructD struct {
	Time      Time
	Duration  Duration
	MapString MapString
}

type StructI added in v1.2.0

type StructI struct {
	Int  *Int
	Uint *Uint
}

type StructS added in v1.2.0

type StructS struct {
	Slice SliceInt
}

type T

type T struct {
	T time.Time
}

type TestBench

type TestBench struct {
	Name     string
	BirthDay time.Time
	Phone    string
	Siblings int
	Spouse   bool
	Money    float64
}

type TestFast

type TestFast struct {
	Lat, Long, Alt float64 // test inline decl
	Data           []byte
}

type TestHidden

type TestHidden struct {
	A   string
	B   []float64
	Bad func(string) bool // This results in a warning: field "Bad" unsupported
}

type TestObj

type TestObj struct{ ID1, ID2 SpecialID }

type TestType

type TestType struct {
	F   *float64          `msg:"float"`
	Els map[string]string `msg:"elements"`
	Obj struct {
		ValueA string `msg:"value_a"`
		ValueB []byte `msg:"value_b"`
	} `msg:"object"`
	Child           *TestType   `msg:"child"`
	Time            time.Time   `msg:"time"`
	Any             interface{} `msg:"any"`
	Appended        msgp.Raw    `msg:"appended"`
	Num             msgp.Number `msg:"num"`
	Byte            byte
	Rune            rune
	RunePtr         *rune
	RunePtrPtr      **rune
	RuneSlice       []rune
	Slice1          []string
	Slice2          []string
	SlicePtr        *[]string
	MapStringEmpty  map[string]struct{}
	MapStringEmpty2 map[string]EmptyStruct
}

type Things

type Things struct {
	Cmplx complex64                         `msg:"complex"` // test slices
	Vals  []int32                           `msg:"values"`
	Arr   [msgp.ExtensionPrefixSize]float64 `msg:"arr"`            // test const array and *ast.SelectorExpr as array size
	Arr2  [4]float64                        `msg:"arr2"`           // test basic lit array
	Ext   *msgp.RawExtension                `msg:"ext,extension"`  // test extension
	Oext  msgp.RawExtension                 `msg:"oext,extension"` // test extension reference
}

type Time added in v1.2.0

type Time time.Time

type Tree

type Tree struct {
	Children []Tree
	Element  int
	Parent   *Wrapper
}

type TypeSample added in v1.2.4

type TypeSample struct {
	K uint32 `msg:"k,omitempty"`
	V uint32 `msg:"v,omitempty"`
}

type TypeSamples added in v1.2.4

type TypeSamples []TypeSample

type Uint added in v1.2.0

type Uint uint

type Wrapper

type Wrapper struct {
	Tree *Tree
}

type X

type X struct {
	Values         [32]byte    // should compile to 32*msgp.ByteSize; encoded as Bin
	ValuesPtr      *[32]byte   // check (*)[:] deref
	More           Block       // should be identical to the above
	Others         [][32]int32 // should compile to len(x.Others)*32*msgp.Int32Size
	Matrix         [][]int32   // should not optimize
	ManyFixed      []Fixed
	WeirdTag       string                       `msg:"\x0b"`
	ZCBytes        []byte                       `msg:",zerocopy"`
	ZCBytesAN      []byte                       `msg:",zerocopy,allownil"`
	ZCBytesOE      []byte                       `msg:",zerocopy,omitempty"`
	ZCBytesSlice   [][]byte                     `msg:",zerocopy"`
	ZCBytesArr     [2][]byte                    `msg:",zerocopy"`
	ZCBytesMap     map[string][]byte            `msg:",zerocopy"`
	ZCBytesMapDeep map[string]map[string][]byte `msg:",zerocopy"`
	CustomBytes    CustomBytes                  `msg:",zerocopy"`
}

tests edge-cases with compiling size compilation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL