package rbytes
import "go-hep.org/x/hep/groot/rbytes"
Package rbytes contains the definitions of types useful for serializing and deserializing ROOT data buffers.
rbytes also defines the interfaces to interact with ROOT's metadata classes such as StreamerInfo and StreamerElements.
Index ¶
- Constants
- func ResizeBool(sli []bool, n int) []bool
- func ResizeD32(sli []root.Double32, n int) []root.Double32
- func ResizeF16(sli []root.Float16, n int) []root.Float16
- func ResizeF32(sli []float32, n int) []float32
- func ResizeF64(sli []float64, n int) []float64
- func ResizeI16(sli []int16, n int) []int16
- func ResizeI32(sli []int32, n int) []int32
- func ResizeI64(sli []int64, n int) []int64
- func ResizeI8(sli []int8, n int) []int8
- func ResizeStr(sli []string, n int) []string
- func ResizeU16(sli []uint16, n int) []uint16
- func ResizeU32(sli []uint32, n int) []uint32
- func ResizeU64(sli []uint64, n int) []uint64
- func ResizeU8(sli []uint8, n int) []uint8
- type Binder
- type Counter
- type Decoder
- type Encoder
- type Header
- type Marshaler
- type Member
- type RBuffer
- func NewRBuffer(data []byte, refs map[int64]any, offset uint32, ctx StreamerInfoContext) *RBuffer
- func (r *RBuffer) CheckHeader(hdr Header)
- func (r *RBuffer) DumpHex(n int)
- func (r *RBuffer) Err() error
- func (r *RBuffer) Len() int64
- func (r *RBuffer) Pos() int64
- func (r *RBuffer) RStream(si StreamerInfo, ptr any) error
- func (r *RBuffer) Read(p []byte) (int, error)
- func (r *RBuffer) ReadArrayBool(arr []bool)
- func (r *RBuffer) ReadArrayD32(arr []root.Double32, elm StreamerElement)
- func (r *RBuffer) ReadArrayF16(arr []root.Float16, elm StreamerElement)
- func (r *RBuffer) ReadArrayF32(sli []float32)
- func (r *RBuffer) ReadArrayF64(sli []float64)
- func (r *RBuffer) ReadArrayI16(sli []int16)
- func (r *RBuffer) ReadArrayI32(sli []int32)
- func (r *RBuffer) ReadArrayI64(sli []int64)
- func (r *RBuffer) ReadArrayI8(arr []int8)
- func (r *RBuffer) ReadArrayString(arr []string)
- func (r *RBuffer) ReadArrayU16(sli []uint16)
- func (r *RBuffer) ReadArrayU32(sli []uint32)
- func (r *RBuffer) ReadArrayU64(sli []uint64)
- func (r *RBuffer) ReadArrayU8(arr []uint8)
- func (r *RBuffer) ReadBool() bool
- func (r *RBuffer) ReadCString(n int) string
- func (r *RBuffer) ReadD32(elm StreamerElement) root.Double32
- func (r *RBuffer) ReadF16(elm StreamerElement) root.Float16
- func (r *RBuffer) ReadF32() float32
- func (r *RBuffer) ReadF64() float64
- func (r *RBuffer) ReadHeader(class string, vmax int16) Header
- func (r *RBuffer) ReadI16() int16
- func (r *RBuffer) ReadI32() int32
- func (r *RBuffer) ReadI64() int64
- func (r *RBuffer) ReadI8() int8
- func (r *RBuffer) ReadObject(obj Unmarshaler)
- func (r *RBuffer) ReadObjectAny() (obj root.Object)
- func (r *RBuffer) ReadStaticArrayI32() []int32
- func (r *RBuffer) ReadStdBitset(v []uint8)
- func (r *RBuffer) ReadStdString() string
- func (r *RBuffer) ReadStdVectorF32(sli *[]float32)
- func (r *RBuffer) ReadStdVectorF64(sli *[]float64)
- func (r *RBuffer) ReadStdVectorI16(sli *[]int16)
- func (r *RBuffer) ReadStdVectorI32(sli *[]int32)
- func (r *RBuffer) ReadStdVectorI64(sli *[]int64)
- func (r *RBuffer) ReadStdVectorStrs(sli *[]string)
- func (r *RBuffer) ReadStdVectorU16(sli *[]uint16)
- func (r *RBuffer) ReadStdVectorU32(sli *[]uint32)
- func (r *RBuffer) ReadStdVectorU64(sli *[]uint64)
- func (r *RBuffer) ReadString() string
- func (r *RBuffer) ReadU16() uint16
- func (r *RBuffer) ReadU32() uint32
- func (r *RBuffer) ReadU64() uint64
- func (r *RBuffer) ReadU8() uint8
- func (r *RBuffer) Reset(data []byte, refs map[int64]any, offset uint32, ctx StreamerInfoContext) *RBuffer
- func (r *RBuffer) SetErr(err error)
- func (r *RBuffer) SetPos(pos int64)
- func (r *RBuffer) SkipObject()
- func (r *RBuffer) SkipVersion(class string)
- func (r *RBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)
- type RSlicer
- type RStreamer
- type RVersioner
- type StreamKind
- type Streamer
- type StreamerElement
- type StreamerInfo
- type StreamerInfoContext
- type Unmarshaler
- type WBuffer
- func NewWBuffer(data []byte, refs map[any]int64, offset uint32, ctx StreamerInfoContext) *WBuffer
- func (w *WBuffer) Bytes() []byte
- func (w *WBuffer) DumpHex(n int)
- func (w *WBuffer) Err() error
- func (w *WBuffer) Grow(n int)
- func (w *WBuffer) Len() int64
- func (w *WBuffer) Pos() int64
- func (w *WBuffer) SetErr(err error)
- func (w *WBuffer) SetHeader(hdr Header) (int, error)
- func (w *WBuffer) SetPos(pos int64)
- func (w *WBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)
- func (w *WBuffer) Write(p []byte) (int, error)
- func (w *WBuffer) WriteArrayBool(v []bool)
- func (w *WBuffer) WriteArrayD32(v []root.Double32, elm StreamerElement)
- func (w *WBuffer) WriteArrayF16(v []root.Float16, elm StreamerElement)
- func (w *WBuffer) WriteArrayF32(sli []float32)
- func (w *WBuffer) WriteArrayF64(sli []float64)
- func (w *WBuffer) WriteArrayI16(sli []int16)
- func (w *WBuffer) WriteArrayI32(sli []int32)
- func (w *WBuffer) WriteArrayI64(sli []int64)
- func (w *WBuffer) WriteArrayI8(v []int8)
- func (w *WBuffer) WriteArrayString(v []string)
- func (w *WBuffer) WriteArrayU16(sli []uint16)
- func (w *WBuffer) WriteArrayU32(sli []uint32)
- func (w *WBuffer) WriteArrayU64(sli []uint64)
- func (w *WBuffer) WriteArrayU8(v []uint8)
- func (w *WBuffer) WriteBool(v bool)
- func (w *WBuffer) WriteCString(v string)
- func (w *WBuffer) WriteClass(beg int64, obj root.Object) uint32
- func (w *WBuffer) WriteD32(v root.Double32, elm StreamerElement)
- func (w *WBuffer) WriteF16(v root.Float16, elm StreamerElement)
- func (w *WBuffer) WriteF32(v float32)
- func (w *WBuffer) WriteF64(v float64)
- func (w *WBuffer) WriteHeader(typename string, vers int16) Header
- func (w *WBuffer) WriteI16(v int16)
- func (w *WBuffer) WriteI32(v int32)
- func (w *WBuffer) WriteI64(v int64)
- func (w *WBuffer) WriteI8(v int8)
- func (w *WBuffer) WriteObject(obj Marshaler)
- func (w *WBuffer) WriteObjectAny(obj root.Object)
- func (w *WBuffer) WriteStaticArrayI32(v []int32)
- func (w *WBuffer) WriteStdBitset(v []uint8)
- func (w *WBuffer) WriteStdString(v string)
- func (w *WBuffer) WriteStdVectorF32(sli []float32)
- func (w *WBuffer) WriteStdVectorF64(sli []float64)
- func (w *WBuffer) WriteStdVectorI16(sli []int16)
- func (w *WBuffer) WriteStdVectorI32(sli []int32)
- func (w *WBuffer) WriteStdVectorI64(sli []int64)
- func (w *WBuffer) WriteStdVectorStrs(v []string)
- func (w *WBuffer) WriteStdVectorU16(sli []uint16)
- func (w *WBuffer) WriteStdVectorU32(sli []uint32)
- func (w *WBuffer) WriteStdVectorU64(sli []uint64)
- func (w *WBuffer) WriteString(v string)
- func (w *WBuffer) WriteU16(v uint16)
- func (w *WBuffer) WriteU32(v uint32)
- func (w *WBuffer) WriteU64(v uint64)
- func (w *WBuffer) WriteU8(v uint8)
- type WStreamer
Constants ¶
const ( //baskets DisplacementMask = 0xFF000000 )
const (
StreamedMemberWise = 0x4000
)
Functions ¶
func ResizeBool ¶
func ResizeD32 ¶
func ResizeF16 ¶
func ResizeF32 ¶
func ResizeF64 ¶
func ResizeI16 ¶
func ResizeI32 ¶
func ResizeI64 ¶
func ResizeI8 ¶
func ResizeStr ¶
func ResizeU16 ¶
func ResizeU32 ¶
func ResizeU64 ¶
func ResizeU8 ¶
Types ¶
type Binder ¶
Binder wraps the Bind method.
type Counter ¶
Counter wraps the Count method.
type Decoder ¶
Decoder is the interface that wraps the basic DecodeROOT method.
type Encoder ¶
Encoder is the interface that wraps the basic EncodeROOT method.
type Header ¶
type Header struct { Name string // name of the type being guarded by this header. Vers int16 // version of the type being guarded by this header. Pos int64 // position of the type in the ROOT buffer. Len int32 // length of the value in the ROOT buffer. MemberWise bool // whether the value has been written member-wise. }
Header represents a type header in a ROOT buffer.
type Marshaler ¶
Marshaler is the interface implemented by an object that can marshal itself into a ROOT buffer
type Member ¶
Member is a ROOT member of a ROOT class.
type RBuffer ¶
type RBuffer struct {
// contains filtered or unexported fields
}
RBuffer is a read-only ROOT buffer for streaming.
func NewRBuffer ¶
func (*RBuffer) CheckHeader ¶
func (*RBuffer) DumpHex ¶
func (*RBuffer) Err ¶
func (*RBuffer) Len ¶
func (*RBuffer) Pos ¶
func (*RBuffer) RStream ¶
func (r *RBuffer) RStream(si StreamerInfo, ptr any) error
func (*RBuffer) Read ¶
func (*RBuffer) ReadArrayBool ¶
func (*RBuffer) ReadArrayD32 ¶
func (r *RBuffer) ReadArrayD32(arr []root.Double32, elm StreamerElement)
func (*RBuffer) ReadArrayF16 ¶
func (r *RBuffer) ReadArrayF16(arr []root.Float16, elm StreamerElement)
func (*RBuffer) ReadArrayF32 ¶
func (*RBuffer) ReadArrayF64 ¶
func (*RBuffer) ReadArrayI16 ¶
func (*RBuffer) ReadArrayI32 ¶
func (*RBuffer) ReadArrayI64 ¶
func (*RBuffer) ReadArrayI8 ¶
func (*RBuffer) ReadArrayString ¶
func (*RBuffer) ReadArrayU16 ¶
func (*RBuffer) ReadArrayU32 ¶
func (*RBuffer) ReadArrayU64 ¶
func (*RBuffer) ReadArrayU8 ¶
func (*RBuffer) ReadBool ¶
func (*RBuffer) ReadCString ¶
func (*RBuffer) ReadD32 ¶
func (r *RBuffer) ReadD32(elm StreamerElement) root.Double32
func (*RBuffer) ReadF16 ¶
func (r *RBuffer) ReadF16(elm StreamerElement) root.Float16
func (*RBuffer) ReadF32 ¶
func (*RBuffer) ReadF64 ¶
func (*RBuffer) ReadHeader ¶
ReadHeader reads the serialization header for the given class and its known maximum version.
func (*RBuffer) ReadI16 ¶
func (*RBuffer) ReadI32 ¶
func (*RBuffer) ReadI64 ¶
func (*RBuffer) ReadI8 ¶
func (*RBuffer) ReadObject ¶
func (r *RBuffer) ReadObject(obj Unmarshaler)
func (*RBuffer) ReadObjectAny ¶
func (*RBuffer) ReadStaticArrayI32 ¶
func (*RBuffer) ReadStdBitset ¶
func (*RBuffer) ReadStdString ¶
func (*RBuffer) ReadStdVectorF32 ¶
func (*RBuffer) ReadStdVectorF64 ¶
func (*RBuffer) ReadStdVectorI16 ¶
func (*RBuffer) ReadStdVectorI32 ¶
func (*RBuffer) ReadStdVectorI64 ¶
func (*RBuffer) ReadStdVectorStrs ¶
func (*RBuffer) ReadStdVectorU16 ¶
func (*RBuffer) ReadStdVectorU32 ¶
func (*RBuffer) ReadStdVectorU64 ¶
func (*RBuffer) ReadString ¶
func (*RBuffer) ReadU16 ¶
func (*RBuffer) ReadU32 ¶
func (*RBuffer) ReadU64 ¶
func (*RBuffer) ReadU8 ¶
func (*RBuffer) Reset ¶
func (r *RBuffer) Reset(data []byte, refs map[int64]any, offset uint32, ctx StreamerInfoContext) *RBuffer
func (*RBuffer) SetErr ¶
func (*RBuffer) SetPos ¶
func (*RBuffer) SkipObject ¶
func (r *RBuffer) SkipObject()
func (*RBuffer) SkipVersion ¶
func (*RBuffer) StreamerInfo ¶
func (r *RBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)
StreamerInfo returns the named StreamerInfo. If version is negative, the latest version should be returned.
type RSlicer ¶
type RSlicer interface { // RMembers returns the list of (pointers to) members of a given ROOT value. RMembers() []Member }
RSlicer wraps the RMembers method.
type RStreamer ¶
RStreamer is the interface implemented by types that can stream themselves from a ROOT buffer.
type RVersioner ¶
type RVersioner interface { RVersion() int16 }
RVersioner is the interface implemented by an object that can tell the ROOT system what is its current version.
type StreamKind ¶
type StreamKind byte
StreamKind describes whether a composite ROOT value was encoded member-wise or object-wise.
const ( ObjectWise StreamKind = iota MemberWise )
func (StreamKind) String ¶
func (k StreamKind) String() string
type Streamer ¶
Streamer is the interface implemented by types that can stream themselves to and from a ROOT buffer.
type StreamerElement ¶
type StreamerElement interface { root.Named ArrayDim() int ArrayDims() []int32 ArrayLen() int Type() rmeta.Enum Offset() uintptr Size() uintptr TypeName() string XMin() float64 XMax() float64 Factor() float64 }
StreamerElement describes a ROOT StreamerElement
type StreamerInfo ¶
type StreamerInfo interface { root.Named CheckSum() int ClassVersion() int Elements() []StreamerElement // BuildStreamers builds the r/w streamers. BuildStreamers() error NewDecoder(kind StreamKind, r *RBuffer) (Decoder, error) NewEncoder(kind StreamKind, w *WBuffer) (Encoder, error) NewRStreamer(kind StreamKind) (RStreamer, error) NewWStreamer(kind StreamKind) (WStreamer, error) }
StreamerInfo describes a ROOT Streamer.
type StreamerInfoContext ¶
type StreamerInfoContext interface { // StreamerInfo returns the named StreamerInfo. // If version is negative, the latest version should be returned. StreamerInfo(name string, version int) (StreamerInfo, error) }
StreamerInfoContext defines the protocol to retrieve a ROOT StreamerInfo metadata type by name.
Implementations should make sure the protocol is goroutine safe.
type Unmarshaler ¶
Unmarshaler is the interface implemented by an object that can unmarshal itself from a ROOT buffer
type WBuffer ¶
type WBuffer struct {
// contains filtered or unexported fields
}
WBuffer is a write-only ROOT buffer for streaming.
func NewWBuffer ¶
func (*WBuffer) Bytes ¶
func (*WBuffer) DumpHex ¶
func (*WBuffer) Err ¶
func (*WBuffer) Grow ¶
func (*WBuffer) Len ¶
func (*WBuffer) Pos ¶
func (*WBuffer) SetErr ¶
func (*WBuffer) SetHeader ¶
func (*WBuffer) SetPos ¶
func (*WBuffer) StreamerInfo ¶
func (w *WBuffer) StreamerInfo(name string, version int) (StreamerInfo, error)
StreamerInfo returns the named StreamerInfo. If version is negative, the latest version should be returned.
func (*WBuffer) Write ¶
func (*WBuffer) WriteArrayBool ¶
func (*WBuffer) WriteArrayD32 ¶
func (w *WBuffer) WriteArrayD32(v []root.Double32, elm StreamerElement)
func (*WBuffer) WriteArrayF16 ¶
func (w *WBuffer) WriteArrayF16(v []root.Float16, elm StreamerElement)
func (*WBuffer) WriteArrayF32 ¶
func (*WBuffer) WriteArrayF64 ¶
func (*WBuffer) WriteArrayI16 ¶
func (*WBuffer) WriteArrayI32 ¶
func (*WBuffer) WriteArrayI64 ¶
func (*WBuffer) WriteArrayI8 ¶
func (*WBuffer) WriteArrayString ¶
func (*WBuffer) WriteArrayU16 ¶
func (*WBuffer) WriteArrayU32 ¶
func (*WBuffer) WriteArrayU64 ¶
func (*WBuffer) WriteArrayU8 ¶
func (*WBuffer) WriteBool ¶
func (*WBuffer) WriteCString ¶
func (*WBuffer) WriteClass ¶
func (*WBuffer) WriteD32 ¶
func (w *WBuffer) WriteD32(v root.Double32, elm StreamerElement)
func (*WBuffer) WriteF16 ¶
func (w *WBuffer) WriteF16(v root.Float16, elm StreamerElement)
func (*WBuffer) WriteF32 ¶
func (*WBuffer) WriteF64 ¶
func (*WBuffer) WriteHeader ¶
func (*WBuffer) WriteI16 ¶
func (*WBuffer) WriteI32 ¶
func (*WBuffer) WriteI64 ¶
func (*WBuffer) WriteI8 ¶
func (*WBuffer) WriteObject ¶
func (*WBuffer) WriteObjectAny ¶
func (*WBuffer) WriteStaticArrayI32 ¶
func (*WBuffer) WriteStdBitset ¶
func (*WBuffer) WriteStdString ¶
func (*WBuffer) WriteStdVectorF32 ¶
func (*WBuffer) WriteStdVectorF64 ¶
func (*WBuffer) WriteStdVectorI16 ¶
func (*WBuffer) WriteStdVectorI32 ¶
func (*WBuffer) WriteStdVectorI64 ¶
func (*WBuffer) WriteStdVectorStrs ¶
func (*WBuffer) WriteStdVectorU16 ¶
func (*WBuffer) WriteStdVectorU32 ¶
func (*WBuffer) WriteStdVectorU64 ¶
func (*WBuffer) WriteString ¶
func (*WBuffer) WriteU16 ¶
func (*WBuffer) WriteU32 ¶
func (*WBuffer) WriteU64 ¶
func (*WBuffer) WriteU8 ¶
type WStreamer ¶
WStreamer is the interface implemented by types that can stream themselves to a ROOT buffer.
Source Files ¶
consts.go rbuffer.go rbuffer_gen.go rbytes.go sliceops.go wbuffer.go wbuffer_gen.go
- Version
- v0.37.1 (latest)
- Published
- Jun 3, 2025
- Platform
- linux/amd64
- Imports
- 11 packages
- Last checked
- 1 day ago –
Tools for package owners.