abstract class BinData

Direct Known Subclasses

Defined in:

bindata.cr

Constant Summary

BIT_PARTS = [{more => {UInt8, nil}, tag_number => {UInt8, nil}}, {tag_class => {UInt8, nil}, constructed => {UInt8, nil}, tag_number => {UInt8, nil}}, {long => {UInt8, nil}, length_indicator => {UInt8, nil}}] of Nil
INDEX = [2]

Class Method Summary

Instance Method Summary

Macro Summary

Class Method Detail

def self.bit_fields #

[View source]
def self.from_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian) #

[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def read(io : IO) : IO #

[View source]
def to_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian) : Int64 #

[View source]
def to_slice #

[View source]
def write(io : IO) : Int64 #

[View source]

Macro Detail

macro __build_methods__ #

[View source]
macro array(name, length, onlyif = nil, verify = nil, value = nil) #

[View source]
macro bit_field(onlyif = nil, verify = nil, &block) #

[View source]
macro bits(size, name, value = nil, default = nil) #

[View source]
macro bool(name, default = false) #

[View source]
macro bytes(name, length, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro custom(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro endian(format) #

[View source]
macro enum_bits(size, name) #

[View source]
macro enum_field(size, name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro float32(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro float64(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro group(name, onlyif = nil, verify = nil, value = nil, &block) #

}# Encapsulates a bunch of fields by creating a nested BinData class


[View source]
macro int128(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro int16(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro int32(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro int64(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro int8(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro remaining_bytes(name, onlyif = nil, verify = nil, default = nil) #

[View source]
macro string(name, onlyif = nil, verify = nil, length = nil, value = nil, encoding = nil, default = nil) #

[View source]
macro uint128(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro uint16(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro uint32(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro uint64(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro uint8(name, onlyif = nil, verify = nil, value = nil, default = nil) #

[View source]
macro variable_array(name, read_next, onlyif = nil, verify = nil, value = nil) #

[View source]