# BinData::Struct.new(name: :my_struct, fields: ...)
# array = BinData::Array.new(type: :my_struct)
#
#
# source://bindata//lib/bindata/name.rb#14
module BinData::RegisterNamePlugin
# source://bindata//lib/bindata/name.rb#21
def initialize_shared_instance; end
class << self
# source://bindata//lib/bindata/name.rb#16
def included(base); end
end
end
# A singleton registry of all registered classes.
#
# source://bindata//lib/bindata/registry.rb#133
BinData::RegisteredClasses = T.let(T.unsafe(nil), BinData::Registry)
# This registry contains a register of name -> class mappings.
#
# Numerics (integers and floating point numbers) have an endian property as
# part of their name (e.g. int32be, float_le).
#
# Classes can be looked up based on their full name or an abbreviated +name+
# with +hints+.
#
# There are two hints supported, :endian and :search_prefix.
#
# #lookup("int32", { endian: :big }) will return Int32Be.
#
# #lookup("my_type", { search_prefix: :ns }) will return NsMyType.
#
# Names are stored in under_score_style, not camelCase.
#
# source://bindata//lib/bindata/registry.rb#20
class BinData::Registry
# @return [Registry] a new instance of Registry
#
# source://bindata//lib/bindata/registry.rb#22
def initialize; end
# source://bindata//lib/bindata/registry.rb#39
def lookup(name, hints = T.unsafe(nil)); end
# source://bindata//lib/bindata/registry.rb#26
def register(name, class_to_register); end
# Convert CamelCase +name+ to underscore style.
#
# source://bindata//lib/bindata/registry.rb#51
def underscore_name(name); end
# source://bindata//lib/bindata/registry.rb#35
def unregister(name); end
private
# source://bindata//lib/bindata/registry.rb#96
def name_with_endian(name, endian); end
# source://bindata//lib/bindata/registry.rb#87
def name_with_prefix(name, prefix); end
# source://bindata//lib/bindata/registry.rb#64
def normalize_name(name, hints); end
# source://bindata//lib/bindata/registry.rb#113
def register_dynamic_class(name); end
# @return [Boolean]
#
# source://bindata//lib/bindata/registry.rb#107
def registered?(name); end
# source://bindata//lib/bindata/registry.rb#123
def warn_if_name_is_already_registered(name, class_to_register); end
end
# Rest will consume the input stream from the current position to the end of
# the stream. This will mainly be useful for debugging and developing.
#
# require 'bindata'
#
# class A < BinData::Record
# string :a, read_length: 5
# rest :rest
# end
#
# obj = A.read("abcdefghij")
# obj.a #=> "abcde"
# obj.rest #=" "fghij"
#
# source://bindata//lib/bindata/rest.rb#19
class BinData::Rest < ::BinData::BasePrimitive
private
# source://bindata//lib/bindata/rest.rb#26
def read_and_return_value(io); end
# source://bindata//lib/bindata/rest.rb#30
def sensible_default; end
# source://bindata//lib/bindata/rest.rb#22
def value_to_binary_string(val); end
end
# Resets the stream alignment to the next byte. This is
# only useful when using bit-based primitives.
#
# class MyRec < BinData::Record
# bit4 :a
# resume_byte_alignment
# bit4 :b
# end
#
# MyRec.read("\x12\x34") #=> {"a" => 1, "b" => 3}
#
# source://bindata//lib/bindata/alignment.rb#15
class BinData::ResumeByteAlignment < ::BinData::Base
# source://bindata//lib/bindata/alignment.rb#17
def assign(val); end
# @return [Boolean]
#
# source://bindata//lib/bindata/alignment.rb#16
def clear?; end
# source://bindata//lib/bindata/alignment.rb#19
def do_num_bytes; end
# source://bindata//lib/bindata/alignment.rb#21
def do_read(io); end
# source://bindata//lib/bindata/alignment.rb#25
def do_write(io); end
# source://bindata//lib/bindata/alignment.rb#18
def snapshot; end
end
# ----------------------------------------------------------------------------
#
# source://bindata//lib/bindata/sanitize.rb#157
class BinData::SanitizedBigEndian < ::BinData::SanitizedParameter
# source://bindata//lib/bindata/sanitize.rb#158
def endian; end
end
# ----------------------------------------------------------------------------
#
# source://bindata//lib/bindata/sanitize.rb#132
class BinData::SanitizedChoices < ::BinData::SanitizedParameter
# @return [SanitizedChoices] a new instance of SanitizedChoices
#
# source://bindata//lib/bindata/sanitize.rb#133
def initialize(choices, hints); end
# source://bindata//lib/bindata/sanitize.rb#151
def [](key); end
end
# ----------------------------------------------------------------------------
#
# source://bindata//lib/bindata/sanitize.rb#46
class BinData::SanitizedField < ::BinData::SanitizedParameter
# @return [SanitizedField] a new instance of SanitizedField
#
# source://bindata//lib/bindata/sanitize.rb#47
def initialize(name, field_type, field_params, hints); end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#62
def has_parameter?(param); end
# source://bindata//lib/bindata/sanitize.rb#66
def instantiate(value = T.unsafe(nil), parent = T.unsafe(nil)); end
# source://bindata//lib/bindata/sanitize.rb#58
def name; end
# source://bindata//lib/bindata/sanitize.rb#54
def name_as_sym; end
# Returns the value of attribute prototype.
#
# source://bindata//lib/bindata/sanitize.rb#52
def prototype; end
end
# ----------------------------------------------------------------------------
#
# source://bindata//lib/bindata/sanitize.rb#72
class BinData::SanitizedFields < ::BinData::SanitizedParameter
include ::Enumerable
# @return [SanitizedFields] a new instance of SanitizedFields
#
# source://bindata//lib/bindata/sanitize.rb#75
def initialize(hints, base_fields = T.unsafe(nil)); end
# source://bindata//lib/bindata/sanitize.rb#94
def [](idx); end
# source://bindata//lib/bindata/sanitize.rb#84
def add_field(type, name, params); end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#118
def all_field_names_blank?; end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#126
def any_field_has_parameter?(parameter); end
# source://bindata//lib/bindata/sanitize.rb#106
def each(&block); end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#98
def empty?; end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#114
def field_name?(name); end
# source://bindata//lib/bindata/sanitize.rb#110
def field_names; end
# source://bindata//lib/bindata/sanitize.rb#102
def length; end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#122
def no_field_names_blank?; end
# source://bindata//lib/bindata/sanitize.rb#90
def raw_fields; end
end
# source://bindata//lib/bindata/sanitize.rb#163
class BinData::SanitizedLittleEndian < ::BinData::SanitizedParameter
# source://bindata//lib/bindata/sanitize.rb#164
def endian; end
end
# Subclasses of this are sanitized
#
# source://bindata//lib/bindata/sanitize.rb#6
class BinData::SanitizedParameter; end
# BinData objects are instantiated with parameters to determine their
# behaviour. These parameters must be sanitized to ensure their values
# are valid. When instantiating many objects with identical parameters,
# such as an array of records, there is much duplicated sanitizing.
#
# The purpose of the sanitizing code is to eliminate the duplicated
# validation.
#
# SanitizedParameters is a hash-like collection of parameters. Its purpose
# is to recursively sanitize the parameters of an entire BinData object chain
# at a single time.
#
# source://bindata//lib/bindata/sanitize.rb#181
class BinData::SanitizedParameters < ::Hash
# @return [SanitizedParameters] a new instance of SanitizedParameters
#
# source://bindata//lib/bindata/sanitize.rb#197
def initialize(parameters, the_class, hints); end
# source://bindata//lib/bindata/sanitize.rb#287
def create_sanitized_params(params, the_class); end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#215
def has_at_least_one_of?(*keys); end
def has_parameter?(_arg0); end
# source://bindata//lib/bindata/sanitize.rb#291
def hints; end
# def warn_renamed_parameter(old_key, new_key)
# val = delete(old_key)
# if val
# self[new_key] = val
# Kernel.warn ":#{old_key} has been renamed to :#{new_key} in #{@the_class}. " \
# "Using :#{old_key} is now deprecated and will be removed in the future"
# end
# end
#
# source://bindata//lib/bindata/sanitize.rb#239
def must_be_integer(*keys); end
# source://bindata//lib/bindata/sanitize.rb#253
def rename_parameter(old_key, new_key); end
# source://bindata//lib/bindata/sanitize.rb#281
def sanitize(key, &block); end
# source://bindata//lib/bindata/sanitize.rb#271
def sanitize_choices(key, &block); end
# source://bindata//lib/bindata/sanitize.rb#277
def sanitize_endian(key); end
# source://bindata//lib/bindata/sanitize.rb#263
def sanitize_fields(key, &block); end
# source://bindata//lib/bindata/sanitize.rb#259
def sanitize_object_prototype(key); end
# source://bindata//lib/bindata/sanitize.rb#223
def warn_replacement_parameter(bad_key, suggested_key); end
private
# source://bindata//lib/bindata/sanitize.rb#359
def create_sanitized_choices(choices); end
# source://bindata//lib/bindata/sanitize.rb#347
def create_sanitized_endian(endian); end
# source://bindata//lib/bindata/sanitize.rb#363
def create_sanitized_fields; end
# source://bindata//lib/bindata/sanitize.rb#367
def create_sanitized_object_prototype(obj_type, obj_params); end
# source://bindata//lib/bindata/sanitize.rb#327
def ensure_mandatory_parameters_exist; end
# source://bindata//lib/bindata/sanitize.rb#336
def ensure_mutual_exclusion_of_parameters; end
# source://bindata//lib/bindata/sanitize.rb#312
def ensure_no_nil_values; end
# source://bindata//lib/bindata/sanitize.rb#321
def merge_default_parameters!; end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#308
def needs_sanitizing?(key); end
# source://bindata//lib/bindata/sanitize.rb#298
def sanitize!; end
class << self
# source://bindata//lib/bindata/sanitize.rb#188
def sanitize(parameters, the_class); end
end
end
# Memoized constants
#
# source://bindata//lib/bindata/sanitize.rb#184
BinData::SanitizedParameters::BIG_ENDIAN = T.let(T.unsafe(nil), BinData::SanitizedBigEndian)
# source://bindata//lib/bindata/sanitize.rb#185
BinData::SanitizedParameters::LITTLE_ENDIAN = T.let(T.unsafe(nil), BinData::SanitizedLittleEndian)
# source://bindata//lib/bindata/sanitize.rb#8
class BinData::SanitizedPrototype < ::BinData::SanitizedParameter
# @return [SanitizedPrototype] a new instance of SanitizedPrototype
#
# source://bindata//lib/bindata/sanitize.rb#9
def initialize(obj_type, obj_params, hints); end
# @return [Boolean]
#
# source://bindata//lib/bindata/sanitize.rb#30
def has_parameter?(param); end
# source://bindata//lib/bindata/sanitize.rb#38
def instantiate(value = T.unsafe(nil), parent = T.unsafe(nil)); end
end
# source://bindata//lib/bindata/bits.rb#15
class BinData::Sbit < ::BinData::BasePrimitive
def assign(val); end
def bit_aligned?; end
def do_num_bytes; end
def do_write(io); end
private
def read_and_return_value(io); end
def sensible_default; end
end
# source://bindata//lib/bindata/bits.rb#15
class BinData::SbitLe < ::BinData::BasePrimitive
def assign(val); end
def bit_aligned?; end
def do_num_bytes; end
def do_write(io); end
private
def read_and_return_value(io); end
def sensible_default; end
end
# Skip will skip over bytes from the input stream. If the stream is not
# seekable, then the bytes are consumed and discarded.
#
# When writing, skip will write the appropriate number of zero bytes.
#
# require 'bindata'
#
# class A < BinData::Record
# skip length: 5
# string :a, read_length: 5
# end
#
# obj = A.read("abcdefghij")
# obj.a #=> "fghij"
#
#
# class B < BinData::Record
# skip until_valid: [:string, {read_length: 2, assert: "ef"} ]
# string :b, read_length: 5
# end
#
# obj = B.read("abcdefghij")
# obj.b #=> "efghi"
#
#
# == Parameters
#
# Skip objects accept all the params that BinData::BasePrimitive
# does, as well as the following:
#
# :length:: The number of bytes to skip.
# :to_abs_offset:: Skips to the given absolute offset.
# :until_valid:: Skips untils a given byte pattern is matched.
# This parameter contains a type that will raise
# a BinData::ValidityError unless an acceptable byte
# sequence is found. The type is represented by a
# Symbol, or if the type is to have params #
# passed to it, then it should be provided as #
# [type_symbol, hash_params].
#
# source://bindata//lib/bindata/skip.rb#44
class BinData::Skip < ::BinData::BasePrimitive
# source://bindata//lib/bindata/skip.rb#50
def initialize_shared_instance; end
private
# source://bindata//lib/bindata/skip.rb#69
def read_and_return_value(io); end
# source://bindata//lib/bindata/skip.rb#79
def sensible_default; end
# source://bindata//lib/bindata/skip.rb#60
def value_to_binary_string(val); end
end
# source://bindata//lib/bindata/skip.rb#84
class BinData::SkipArgProcessor < ::BinData::BaseArgProcessor
# source://bindata//lib/bindata/skip.rb#85
def sanitize_parameters!(obj_class, params); end
end
# Logic for the :length parameter
#
# source://bindata//lib/bindata/skip.rb#96
module BinData::SkipLengthPlugin
# source://bindata//lib/bindata/skip.rb#97
def skip_length; end
end
# Logic for the :to_abs_offset parameter
#
# source://bindata//lib/bindata/skip.rb#103
module BinData::SkipToAbsOffsetPlugin
# source://bindata//lib/bindata/skip.rb#104
def skip_length; end
end
# Logic for the :until_valid parameter
#
# source://bindata//lib/bindata/skip.rb#110
module BinData::SkipUntilValidPlugin
# source://bindata//lib/bindata/skip.rb#116
def read_and_return_value(io); end
# source://bindata//lib/bindata/skip.rb#111
def skip_length; end
end
# A String is a sequence of bytes. This is the same as strings in Ruby 1.8.
# The issue of character encoding is ignored by this class.
#
# require 'bindata'
#
# data = "abcdefghij"
#
# obj = BinData::String.new(read_length: 5)
# obj.read(data)
# obj #=> "abcde"
#
# obj = BinData::String.new(length: 6)
# obj.read(data)
# obj #=> "abcdef"
# obj.assign("abcdefghij")
# obj #=> "abcdef"
# obj.assign("abcd")
# obj #=> "abcd\000\000"
#
# obj = BinData::String.new(length: 6, trim_padding: true)
# obj.assign("abcd")
# obj #=> "abcd"
# obj.to_binary_s #=> "abcd\000\000"
#
# obj = BinData::String.new(length: 6, pad_byte: 'A')
# obj.assign("abcd")
# obj #=> "abcdAA"
# obj.to_binary_s #=> "abcdAA"
#
# == Parameters
#
# String objects accept all the params that BinData::BasePrimitive
# does, as well as the following:
#
# :read_length:: The length in bytes to use when reading a value.
# :length:: The fixed length of the string. If a shorter
# string is set, it will be padded to this length.
# :pad_byte:: The byte to use when padding a string to a
# set length. Valid values are Integers and
# Strings of length 1. "\0" is the default.
# :pad_front:: Signifies that the padding occurs at the front
# of the string rather than the end. Default
# is false.
# :trim_padding:: Boolean, default false. If set, #value will
# return the value with all pad_bytes trimmed
# from the end of the string. The value will
# not be trimmed when writing.
#
# source://bindata//lib/bindata/string.rb#51
class BinData::String < ::BinData::BasePrimitive
# source://bindata//lib/bindata/string.rb#67
def assign(val); end
# source://bindata//lib/bindata/string.rb#59
def initialize_shared_instance; end
# source://bindata//lib/bindata/string.rb#71
def snapshot; end
private
# source://bindata//lib/bindata/string.rb#86
def clamp_to_length(str); end
# source://bindata//lib/bindata/string.rb#116
def read_and_return_value(io); end
# source://bindata//lib/bindata/string.rb#121
def sensible_default; end
# source://bindata//lib/bindata/string.rb#104
def trim_padding(str); end
# source://bindata//lib/bindata/string.rb#112
def value_to_binary_string(val); end
end
# source://bindata//lib/bindata/string.rb#126
class BinData::StringArgProcessor < ::BinData::BaseArgProcessor
# source://bindata//lib/bindata/string.rb#127
def sanitize_parameters!(obj_class, params); end
private
# source://bindata//lib/bindata/string.rb#137
def sanitized_pad_byte(byte); end
end
# A BinData::Stringz object is a container for a zero ("\0") terminated
# string.
#
# For convenience, the zero terminator is not necessary when setting the
# value. Likewise, the returned value will not be zero terminated.
#
# require 'bindata'
#
# data = "abcd\x00efgh"
#
# obj = BinData::Stringz.new
# obj.read(data)
# obj.snapshot #=> "abcd"
# obj.num_bytes #=> 5
# obj.to_binary_s #=> "abcd\000"
#
# == Parameters
#
# Stringz objects accept all the params that BinData::BasePrimitive
# does, as well as the following:
#
# :max_length:: The maximum length of the string including the zero
# byte.
#
# source://bindata//lib/bindata/stringz.rb#27
class BinData::Stringz < ::BinData::BasePrimitive
# source://bindata//lib/bindata/stringz.rb#31
def assign(val); end
# source://bindata//lib/bindata/stringz.rb#35
def snapshot; end
private
# source://bindata//lib/bindata/stringz.rb#90
def append_zero_byte_if_needed!(str); end
# source://bindata//lib/bindata/stringz.rb#48
def read_and_return_value(io); end
# source://bindata//lib/bindata/stringz.rb#64
def sensible_default; end
# source://bindata//lib/bindata/stringz.rb#68
def trim_and_zero_terminate(str); end
# source://bindata//lib/bindata/stringz.rb#80
def trim_to!(str, max_length = T.unsafe(nil)); end
# source://bindata//lib/bindata/stringz.rb#76
def truncate_after_first_zero_byte!(str); end
# source://bindata//lib/bindata/stringz.rb#44
def value_to_binary_string(val); end
end
# A Struct is an ordered collection of named data objects.
#
# require 'bindata'
#
# class Tuple < BinData::Record
# int8 :x
# int8 :y
# int8 :z
# end
#
# obj = BinData::Struct.new(hide: :a,
# fields: [ [:int32le, :a],
# [:int16le, :b],
# [:tuple, :s] ])
# obj.field_names =># [:b, :s]
#
#
# == Parameters
#
# Parameters may be provided at initialisation to control the behaviour of
# an object. These params are:
#
# :fields:: An array specifying the fields for this struct.
# Each element of the array is of the form [type, name,
# params]. Type is a symbol representing a registered
# type. Name is the name of this field. Params is an
# optional hash of parameters to pass to this field
# when instantiating it. If name is "" or nil, then
# that field is anonymous and behaves as a hidden field.
# :hide:: A list of the names of fields that are to be hidden
# from the outside world. Hidden fields don't appear
# in #snapshot or #field_names but are still accessible
# by name.
# :endian:: Either :little or :big. This specifies the default
# endian of any numerics in this struct, or in any
# nested data objects.
# :search_prefix:: Allows abbreviated type names. If a type is
# unrecognised, then each prefix is applied until
# a match is found.
#
# == Field Parameters
#
# Fields may have have extra parameters as listed below:
#
# [:onlyif] Used to indicate a data object is optional.
# if +false+, this object will not be included in any
# calls to #read, #write, #num_bytes or #snapshot.
# [:byte_align] This field's rel_offset must be a multiple of
# :byte_align.
#
# source://bindata//lib/bindata/struct.rb#59
class BinData::Struct < ::BinData::Base
# source://bindata//lib/bindata/struct.rb#153
def [](key); end
# source://bindata//lib/bindata/struct.rb#157
def []=(key, value); end
# source://bindata//lib/bindata/struct.rb#101
def assign(val); end
# source://bindata//lib/bindata/struct.rb#93
def clear; end
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#97
def clear?; end
# source://bindata//lib/bindata/struct.rb#127
def debug_name_of(child); end
# source://bindata//lib/bindata/struct.rb#148
def do_num_bytes; end
# source://bindata//lib/bindata/struct.rb#138
def do_read(io); end
# :nodoc
#
# source://bindata//lib/bindata/struct.rb#143
def do_write(io); end
# source://bindata//lib/bindata/struct.rb#168
def each_pair; end
# Returns a list of the names of all fields accessible through this
# object. +include_hidden+ specifies whether to include hidden names
# in the listing.
#
# source://bindata//lib/bindata/struct.rb#118
def field_names(include_hidden = T.unsafe(nil)); end
# has_key? is deprecated
#
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#164
def has_key?(key); end
# source://bindata//lib/bindata/struct.rb#89
def initialize_instance; end
# source://bindata//lib/bindata/struct.rb#81
def initialize_shared_instance; end
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#164
def key?(key); end
# source://bindata//lib/bindata/struct.rb#132
def offset_of(child); end
# source://bindata//lib/bindata/struct.rb#106
def snapshot; end
private
# source://bindata//lib/bindata/struct.rb#239
def as_stringified_hash(val); end
# source://bindata//lib/bindata/struct.rb#228
def assign_fields(val); end
# source://bindata//lib/bindata/struct.rb#213
def base_field_name(name); end
# source://bindata//lib/bindata/struct.rb#177
def define_field_accessors; end
# source://bindata//lib/bindata/struct.rb#184
def define_field_accessors_for(name, index); end
# source://bindata//lib/bindata/struct.rb#199
def find_index_of(obj); end
# source://bindata//lib/bindata/struct.rb#203
def find_obj_for_name(name); end
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#273
def include_obj?(obj); end
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#267
def include_obj_for_io?(obj); end
# source://bindata//lib/bindata/struct.rb#217
def instantiate_all_objs; end
# source://bindata//lib/bindata/struct.rb#221
def instantiate_obj_at(index); end
# source://bindata//lib/bindata/struct.rb#255
def sum_num_bytes_below_index(index); end
# source://bindata//lib/bindata/struct.rb#251
def sum_num_bytes_for_all_fields; end
class << self
# source://bindata//lib/bindata/base.rb#53
def inherited(subclass); end
end
end
# These reserved words may not be used as field names
#
# source://bindata//lib/bindata/struct.rb#66
BinData::Struct::RESERVED = T.let(T.unsafe(nil), Hash)
# A hash that can be accessed via attributes.
#
# source://bindata//lib/bindata/struct.rb#278
class BinData::Struct::Snapshot < ::Hash
# source://bindata//lib/bindata/struct.rb#279
def []=(key, value); end
# source://bindata//lib/bindata/struct.rb#287
def method_missing(symbol, *args); end
# @return [Boolean]
#
# source://bindata//lib/bindata/struct.rb#283
def respond_to?(symbol, include_private = T.unsafe(nil)); end
end
# source://bindata//lib/bindata/struct.rb#348
class BinData::StructArgProcessor < ::BinData::BaseArgProcessor
# source://bindata//lib/bindata/struct.rb#349
def sanitize_parameters!(obj_class, params); end
private
# source://bindata//lib/bindata/struct.rb#403
def ensure_field_names_are_valid(obj_class, field_names); end
# source://bindata//lib/bindata/struct.rb#399
def hidden_field_names(hidden); end
# source://bindata//lib/bindata/struct.rb#359
def sanitize_endian(params); end
# source://bindata//lib/bindata/struct.rb#375
def sanitize_fields(obj_class, params); end
# source://bindata//lib/bindata/struct.rb#386
def sanitize_hide(params); end
# source://bindata//lib/bindata/struct.rb#363
def sanitize_search_prefix(params); end
# source://bindata//lib/bindata/struct.rb#395
def sanitized_field_names(sanitized_fields); end
end
# source://bindata//lib/bindata/trace.rb#5
class BinData::Tracer
# @return [Tracer] a new instance of Tracer
#
# source://bindata//lib/bindata/trace.rb#6
def initialize(io); end
# source://bindata//lib/bindata/trace.rb#10
def trace(msg); end
# source://bindata//lib/bindata/trace.rb#14
def trace_obj(obj_name, val); end
end
# Unsigned 1 byte integer.
#
# source://bindata//lib/bindata/int.rb#180
class BinData::Uint8 < ::BinData::BasePrimitive
def assign(val); end
def do_num_bytes; end
private
def read_and_return_value(io); end
def sensible_default; end
def value_to_binary_string(val); end
end
# Uint8Array is a specialised type of array that only contains
# bytes (Uint8). It is a faster and more memory efficient version
# of `BinData::Array.new(:type => :uint8)`.
#
# require 'bindata'
#
# obj = BinData::Uint8Array.new(initial_length: 5)
# obj.read("abcdefg") #=> [97, 98, 99, 100, 101]
# obj[2] #=> 99
# obj.collect { |x| x.chr }.join #=> "abcde"
#
# == Parameters
#
# Parameters may be provided at initialisation to control the behaviour of
# an object. These params are:
#
# :initial_length:: The initial length of the array.
# :read_until:: May only have a value of `:eof`. This parameter
# instructs the array to read as much data from
# the stream as possible.
#
# source://bindata//lib/bindata/uint8_array.rb#24
class BinData::Uint8Array < ::BinData::BasePrimitive
private
# source://bindata//lib/bindata/uint8_array.rb#36
def read_and_return_value(io); end
# source://bindata//lib/bindata/uint8_array.rb#46
def sensible_default; end
# source://bindata//lib/bindata/uint8_array.rb#32
def value_to_binary_string(val); end
end
# source://bindata//lib/bindata/uint8_array.rb#51
class BinData::Uint8ArrayArgProcessor < ::BinData::BaseArgProcessor
# source://bindata//lib/bindata/uint8_array.rb#52
def sanitize_parameters!(obj_class, params); end
end
# source://bindata//lib/bindata/registry.rb#3
class BinData::UnRegisteredTypeError < ::StandardError; end
# source://bindata//lib/bindata/version.rb#2
BinData::VERSION = T.let(T.unsafe(nil), String)
# Error raised when unexpected results occur when reading data from IO.
#
# source://bindata//lib/bindata/framework.rb#3
class BinData::ValidityError < ::StandardError; end
# A virtual field is one that is neither read, written nor occupies space in
# the data stream. It is used to make assertions or as a convenient label
# for determining offsets or storing values.
#
# require 'bindata'
#
# class A < BinData::Record
# string :a, read_length: 5
# string :b, read_length: 5
# virtual :c, assert: -> { a == b }
# end
#
# obj = A.read("abcdeabcde")
# obj.a #=> "abcde"
# obj.c.offset #=> 10
#
# obj = A.read("abcdeABCDE") #=> BinData::ValidityError: assertion failed for obj.c
#
# == Parameters
#
# Parameters may be provided at initialisation to control the behaviour of
# an object. These params include those for BinData::Base as well as:
#
# [:assert] Raise an error when reading or assigning if the value
# of this evaluated parameter is false.
# [:value] The virtual object will always have this value.
#
# source://bindata//lib/bindata/virtual.rb#31
class BinData::Virtual < ::BinData::BasePrimitive
# source://bindata//lib/bindata/virtual.rb#39
def do_num_bytes; end
# source://bindata//lib/bindata/virtual.rb#33
def do_read(io); end
# source://bindata//lib/bindata/virtual.rb#36
def do_write(io); end
# source://bindata//lib/bindata/virtual.rb#43
def sensible_default; end
end
# Warns when reading if :value && no :read_length
#
# source://bindata//lib/bindata/string.rb#147
module BinData::WarnNoReadLengthPlugin
# source://bindata//lib/bindata/string.rb#148
def read_and_return_value(io); end
end