Documentation ¶
Index ¶
- Constants
- Variables
- func MaxNumber(code TypeCode) uint64
- func MinNumber(code TypeCode) int64
- type Alias
- type AlignAttribute
- type Attribute
- type Comment
- type CommentLine
- type Const
- type Endian
- type Enum
- type EnumOption
- type Error
- type Field
- type FieldValue
- type File
- type Import
- type Line
- type Map
- type Number
- type NumberValue
- type Object
- type ObjectProperty
- type Optional
- type Order
- type OrderBuilder
- type OrderHeapContainer
- type OrderReader
- type OrderStruct
- type OrderStructContainer
- type PackAttribute
- type Parser
- type Pointer
- type Protocol
- type String
- type Struct
- type StructValue
- type Token
- type Type
- type TypeCode
- type UnknownValue
- type Value
- type Variant
- type VariantOption
- type Vector
Constants ¶
View Source
const IsBigEndian = false
View Source
const IsLittleEndian = true
Variables ¶
View Source
var ( Bool = Type{Name: "bool", Code: TypeCodeBool, Number: &Number{Code: TypeCodeBool}} I8 = Type{Name: "i8", Code: TypeCodeI8, Number: &Number{Code: TypeCodeI8}} I16 = Type{Name: "i16", Code: TypeCodeI16, Number: &Number{TypeCodeI16, EndianLittle}} I16B = Type{Name: "i16b", Code: TypeCodeI16, Number: &Number{TypeCodeI16, EndianBig}} I16N = Type{Name: "i16n", Code: TypeCodeI16, Number: &Number{TypeCodeI16, EndianNative}} I32 = Type{Name: "i32", Code: TypeCodeI32, Number: &Number{TypeCodeI32, EndianLittle}} I32B = Type{Name: "i32b", Code: TypeCodeI32, Number: &Number{TypeCodeI32, EndianBig}} I32N = Type{Name: "i32n", Code: TypeCodeI32, Number: &Number{TypeCodeI32, EndianNative}} I64 = Type{Name: "i64", Code: TypeCodeI64, Number: &Number{TypeCodeI64, EndianLittle}} I64B = Type{Name: "i64b", Code: TypeCodeI64, Number: &Number{TypeCodeI64, EndianBig}} I64N = Type{Name: "i64n", Code: TypeCodeI64, Number: &Number{TypeCodeI64, EndianNative}} I128 = Type{Name: "i128", Code: TypeCodeI128, Number: &Number{TypeCodeI128, EndianLittle}} I128B = Type{Name: "i128b", Code: TypeCodeI128, Number: &Number{TypeCodeI128, EndianBig}} I128N = Type{Name: "i128n", Code: TypeCodeI128, Number: &Number{TypeCodeI128, EndianNative}} U8 = Type{Name: "u8", Code: TypeCodeU8, Number: &Number{Code: TypeCodeU8}} U16 = Type{Name: "u16", Code: TypeCodeU16, Number: &Number{TypeCodeU16, EndianLittle}} U16B = Type{Name: "u16b", Code: TypeCodeU16, Number: &Number{TypeCodeU16, EndianBig}} U16N = Type{Name: "u16n", Code: TypeCodeU16, Number: &Number{TypeCodeU16, EndianNative}} U32 = Type{Name: "u32", Code: TypeCodeU32, Number: &Number{TypeCodeU32, EndianLittle}} U32B = Type{Name: "u32b", Code: TypeCodeU32, Number: &Number{TypeCodeU32, EndianBig}} U32N = Type{Name: "u32n", Code: TypeCodeU32, Number: &Number{TypeCodeU32, EndianNative}} U64 = Type{Name: "u64", Code: TypeCodeU64, Number: &Number{TypeCodeU64, EndianLittle}} U64B = Type{Name: "u64b", Code: TypeCodeU64, Number: &Number{TypeCodeU64, EndianBig}} U64N = Type{Name: "u64n", Code: TypeCodeU64, Number: &Number{TypeCodeU64, EndianNative}} U128 = Type{Name: "u128", Code: TypeCodeU128, Number: &Number{TypeCodeU128, EndianLittle}} U128B = Type{Name: "u128b", Code: TypeCodeU128, Number: &Number{TypeCodeU128, EndianBig}} U128N = Type{Name: "u128n", Code: TypeCodeU128, Number: &Number{TypeCodeU128, EndianNative}} F32 = Type{Name: "f32", Code: TypeCodeF32, Number: &Number{TypeCodeF64, EndianLittle}} F32B = Type{Name: "f32b", Code: TypeCodeF32, Number: &Number{TypeCodeF64, EndianBig}} F32N = Type{Name: "f32n", Code: TypeCodeF32, Number: &Number{TypeCodeF64, EndianNative}} F64 = Type{Name: "f64", Code: TypeCodeF64, Number: &Number{TypeCodeF64, EndianLittle}} F64B = Type{Name: "f64b", Code: TypeCodeF64, Number: &Number{TypeCodeF64, EndianBig}} F64N = Type{Name: "f64n", Code: TypeCodeF64, Number: &Number{TypeCodeF64, EndianNative}} )
Functions ¶
Types ¶
type AlignAttribute ¶
type AlignAttribute struct {
Value int
}
type Comment ¶
type Comment struct { Star bool Inline bool Lines []CommentLine }
type CommentLine ¶
type Enum ¶
type Enum struct { Type *Type ValueType *Type Options []*EnumOption }
type EnumOption ¶
type EnumOption struct { Enum *Enum JsonName string Value NumberValue }
type Field ¶
type FieldValue ¶
type Number ¶
func (*Number) ToValue ¶
func (n *Number) ToValue(v uint64) *NumberValue
func (*Number) ToValueSigned ¶
func (n *Number) ToValueSigned(v int64) *NumberValue
type NumberValue ¶
type NumberValue struct { *Number // contains filtered or unexported fields }
func (*NumberValue) Append ¶
func (nv *NumberValue) Append(b []byte) []byte
func (*NumberValue) Get ¶
func (nv *NumberValue) Get() uint64
func (*NumberValue) Get128 ¶
func (nv *NumberValue) Get128()
func (*NumberValue) Set ¶
func (nv *NumberValue) Set(value uint64)
func (*NumberValue) Set128 ¶
func (nv *NumberValue) Set128(value [16]byte)
func (*NumberValue) Size ¶
func (nv *NumberValue) Size() int
type Object ¶
type Object struct { Props []*ObjectProperty ByName map[string]*ObjectProperty Curly bool }
type ObjectProperty ¶
type Order ¶
type Order struct {
// contains filtered or unexported fields
}
func NewOrderHeap ¶
func NewOrderHeap() *Order
func (*Order) AsReader ¶
func (o *Order) AsReader() OrderReader
type OrderBuilder ¶
type OrderBuilder struct {
// contains filtered or unexported fields
}
func NewOrderBuilder ¶
func NewOrderBuilder(o **Order) OrderBuilder
func (OrderBuilder) ID ¶
func (o OrderBuilder) ID() int32
func (OrderBuilder) SetID ¶
func (o OrderBuilder) SetID(v int32)
type OrderHeapContainer ¶
type OrderHeapContainer struct { O *Order // contains filtered or unexported fields }
func (*OrderHeapContainer) ID ¶
func (o *OrderHeapContainer) ID() int32
type OrderReader ¶
type OrderReader struct {
// contains filtered or unexported fields
}
func NewOrderReader ¶
func NewOrderReader(o *Order, end uintptr) OrderReader
func (OrderReader) ID ¶
func (o OrderReader) ID() int32
func (OrderReader) SetID ¶
func (o OrderReader) SetID(v int32)
func (OrderReader) Unsafe ¶
func (o OrderReader) Unsafe() *Order
type OrderStruct ¶
type OrderStruct struct {
// contains filtered or unexported fields
}
func (*OrderStruct) ID ¶
func (o *OrderStruct) ID() int32
func (*OrderStruct) Price ¶
func (o *OrderStruct) Price() float32
func (*OrderStruct) SetID ¶
func (o *OrderStruct) SetID(v int32)
func (*OrderStruct) SetPrice ¶
func (o *OrderStruct) SetPrice(v float32)
type OrderStructContainer ¶
type OrderStructContainer struct { O *OrderStruct // contains filtered or unexported fields }
func (*OrderStructContainer) ID ¶
func (o *OrderStructContainer) ID() int32
type PackAttribute ¶
type PackAttribute struct {
Value int
}
type Struct ¶
type StructValue ¶
type StructValue struct { Fields []FieldValue Data []byte }
func (*StructValue) Append ¶
func (sv *StructValue) Append(b []byte) []byte
type Type ¶
type Type struct { Parent *Type Name string StartLine Line EndLine Line Comments []*Comment Optional *Optional Pointer *Pointer Const *Const Number *Number Enum *Enum Field *Field Struct *Struct Alias *Alias Variant *Variant Value *Value Vector *Vector Map *Map Code TypeCode }
Type variant
func (*Type) ParentConst ¶
func (*Type) ParentField ¶
func (*Type) ParentStruct ¶
type TypeCode ¶
type TypeCode byte
const ( TypeCodeUnknown TypeCode = 0 TypeCodeBool TypeCode = 1 TypeCodeI8 TypeCode = 2 TypeCodeU8 TypeCode = 3 TypeCodeI16 TypeCode = 4 TypeCodeU16 TypeCode = 5 TypeCodeI32 TypeCode = 6 TypeCodeU32 TypeCode = 7 TypeCodeI64 TypeCode = 8 TypeCodeU64 TypeCode = 9 TypeCodeI128 TypeCode = 10 TypeCodeU128 TypeCode = 11 TypeCodeF32 TypeCode = 12 TypeCodeF64 TypeCode = 13 TypeCodeF128 TypeCode = 14 TypeString TypeCode = 20 // heap allocated string TypeStringInline TypeCode = 21 // string embedded inline TypeStringInlinePlus TypeCode = 22 // string embedded inline with a heap allocated spill-over TypeCodeEnum TypeCode = 25 TypeCodeStruct TypeCode = 30 TypeCodeUnion TypeCode = 31 TypeCodeVariant TypeCode = 32 TypeCodeOptional TypeCode = 33 TypeCodePointer TypeCode = 34 TypeCodeArray TypeCode = 40 TypeCodeVector TypeCode = 41 TypeCodeMap TypeCode = 50 // robin-hood map TypeCodeMapOrdered TypeCode = 51 // ART radix tree TypeCodeMapTree TypeCode = 52 // B+Tree TypeCodeSet TypeCode = 60 TypeCodeSetOrdered TypeCode = 61 TypeCodeSetTree TypeCode = 62 TypeCodeConst TypeCode = 90 TypeCodePad TypeCode = 100 )
type UnknownValue ¶
type UnknownValue struct {
Value string
}
type Value ¶
type Value struct { Type *Type Const *Const Enum *EnumOption Variant *VariantOption Struct *StructValue Number *NumberValue Object *Object Unknown *UnknownValue }
type Variant ¶
type Variant struct { Type *Type Inline *Field Options []VariantOption Optional bool }
type VariantOption ¶
func (*VariantOption) Size ¶
func (vo *VariantOption) Size() int
Click to show internal directories.
Click to hide internal directories.