Documentation ¶
Overview ¶
Package binaryex implements functions supplement to binary/encoding package. It is designed for ease of use before speed.
It supports binary marshaling of all go types, excluding chans, funcs and unsafePointers.
Ints and Uints of any size are encoded as VarInts, floats and complex numbers using binary encoding in LittleEndian order, and strings, arrays, slices and maps are prefixed by a number (varint) specifying number of their elements then written as a LittleEndian byte stream.
Write functions take values or pointers to values. If a Pointer value was passed to a Write function it is dereferenced up to the value itself then written.
Read functions take pointers to output values only as they have to be mutable. If the dereferenced output value is a pointer itself, a new value is allocated for it.
If a pointer with a a nil value was Written, when Read, the pointer will have its' value allocated (not nil) and value set to zero of that type.
All functions can panic if they encounter invalid parameters as most checks are ommited for performance reasons.
If a value supports encoding.Binary(un)Marshaler it is preferred. Watch out for infinite loops if calling Read, ReadReflect, Write or WriteReflect from a BinaryMarshaler or BinaryUnmarshaler implementor.
If an unsupported value is encountered functions will error.
Index ¶
- Variables
- func Read(r io.Reader, val interface{}) error
- func ReadArray(r io.Reader, val interface{}) error
- func ReadArrayReflect(r io.Reader, v reflect.Value) (err error)
- func ReadBool(r io.Reader, b interface{}) error
- func ReadBoolReflect(r io.Reader, v reflect.Value) (err error)
- func ReadMap(r io.Reader, val interface{}) error
- func ReadMapReflect(r io.Reader, v reflect.Value) (err error)
- func ReadNumber(r io.Reader, n interface{}) error
- func ReadNumberReflect(r io.Reader, v reflect.Value) (err error)
- func ReadReflect(r io.Reader, v reflect.Value) (err error)
- func ReadSlice(r io.Reader, val interface{}) error
- func ReadSliceReflect(r io.Reader, v reflect.Value) (err error)
- func ReadString(r io.Reader, s interface{}) error
- func ReadStringReflect(r io.Reader, v reflect.Value) (err error)
- func ReadStruct(r io.Reader, val interface{}) error
- func ReadStructReflect(r io.Reader, v reflect.Value) (err error)
- func Write(w io.Writer, val interface{}) error
- func WriteArray(w io.Writer, val interface{}) error
- func WriteArrayReflect(w io.Writer, v reflect.Value) (err error)
- func WriteBool(w io.Writer, b bool) error
- func WriteBoolReflect(w io.Writer, v reflect.Value) (err error)
- func WriteMap(w io.Writer, val interface{}) error
- func WriteMapReflect(w io.Writer, v reflect.Value) (err error)
- func WriteNumber(w io.Writer, n interface{}) error
- func WriteNumberReflect(w io.Writer, v reflect.Value) (err error)
- func WriteReflect(w io.Writer, v reflect.Value) (err error)
- func WriteSlice(w io.Writer, val interface{}) error
- func WriteSliceReflect(w io.Writer, v reflect.Value) (err error)
- func WriteString(w io.Writer, s string) error
- func WriteStringReflect(w io.Writer, v reflect.Value) (err error)
- func WriteStruct(w io.Writer, val interface{}) error
- func WriteStructReflect(w io.Writer, v reflect.Value) (err error)
- type BinaryExError
Constants ¶
This section is empty.
Variables ¶
var ( // ErrUnsupportedValue is returned when an unsupported value is encountered. ErrUnsupportedValue = BinaryExError{"unsupported value"} // ErrUnadressableValue is returned when a non-pointer value is passed to a Read* function. ErrUnadressableValue = BinaryExError{"unadressable value"} // ErrUnexpected is returned when an unexpected value is read. ErrUnexpected = BinaryExError{"unexpected value"} )
Functions ¶
func ReadArray ¶
ReadArray reads an array value from r and puts it into val or returns an error if one occured.
func ReadArrayReflect ¶
ReadArrayReflect reads an array value from reader r and puts it into v or returns an error if one occured.
func ReadBool ¶
ReadBool reads a bool value from r and puts it into val or returns an error if one occured.
func ReadBoolReflect ¶
ReadBoolReflect reads a bool value from reader r and puts it into v or returns an error if one occured.
func ReadMap ¶
ReadMap reads a map value from r and puts it into val or returns an error if one occured.
func ReadMapReflect ¶
ReadMapReflect reads a map value from reader r and puts it into v or returns an error if one occured.
func ReadNumber ¶
ReadNumber reads a number value from r and puts it into val or returns an error if one occured.
func ReadNumberReflect ¶
ReadNumberReflect reads a number value from reader r and puts it into v or returns an error if one occured.
func ReadReflect ¶
ReadReflect reads a value from reader r and puts it into v or returns an error if one occured.
func ReadSlice ¶
ReadSlice reads a slice value from r and puts it into val or returns an error if one occured.
func ReadSliceReflect ¶
ReadSliceReflect reads a slice value from reader r and puts it into v or returns an error if one occured.
func ReadString ¶
ReadString reads a value from r and puts it into val or returns an error if one occured.
func ReadStringReflect ¶
ReadSgtringReflect reads a string value from reader r and puts it into v or returns an error if one occured.
func ReadStruct ¶
ReadStruct reads a struct value from r and puts it into val or returns an error if one occured.
func ReadStructReflect ¶
ReadStructReflect reads a struct value from reader r and puts it into v or returns an error if one occured.
func WriteArray ¶
WriteArray writes array value val to writer w or returns an error if one occured.
func WriteArrayReflect ¶
WriteArrayReflect writes an array reflect value v to writer w or returns an error if one occured.
func WriteBoolReflect ¶
WriteBoolReflect writes a bool reflect value v to writer w or returns an error if one occured.
func WriteMapReflect ¶
WriteMapReflect writes a map reflect value v to writer w or returns an error if one occured.
func WriteNumber ¶
WriteNumber writes number value val to writer w or returns an error if one occured.
func WriteNumberReflect ¶
WriteNumberReflect writes a number reflect value v to writer w or returns an error if one occured.
func WriteReflect ¶
WriteReflect writes a reflect value v to writer w or returns an error if one occured.
func WriteSlice ¶
WriteSlice writes slice value val to writer w or returns an error if one occured.
func WriteSliceReflect ¶
WriteSliceReflect writes a slice reflect value v to writer w or returns an error if one occured.
func WriteString ¶
WriteString writes string value val to writer w or returns an error if one occured.
func WriteStringReflect ¶
WriteStringReflect writes a reflect value v to writer w or returns an error if one occured.
func WriteStruct ¶
WriteStruct writes struct value val to writer w or returns an error if one occured.
Types ¶
type BinaryExError ¶
type BinaryExError struct {
// contains filtered or unexported fields
}
BinaryExError is the base error type of binaryex package.
func (BinaryExError) Error ¶
func (bxe BinaryExError) Error() string
Error satisfies the Error interface.