class documentation

class Array(Type):

Known subclasses: reven2.types._array.RawBuffer

View In Hierarchy

A type constructor for contiguous homogeneous arrays ([T; n]).

Method __eq__ Compares the instance for equality with an object.
Method __hash__ Returns the hash for this value.
Method __init__ Construct an array of type ty and count count.
Method __ne__ Compares the instance for equality with an object.
Method __str__ Returns the nicely printable string representation of this instance.
Method is_context_sensitive Whether the context argument needed by some methods actually has an effect.
Property count Property: The number of elements in the array.
Property inner Property: The type of element of the array.
Method _construct_type Return the underlying construct instance
Method _decode Undocumented
Method _encode Undocumented
Method _resolve Uses the resolver to return a resolved version of the type, if possible.
Instance Variable _count Undocumented
Instance Variable _inner Undocumented

Inherited from Type:

Method description The short description of this type.
Method parse Parses the value of an instance of this type from a raw buffer, possibly depending on the context.
Method size_bytes The minimal number of bytes necessary to hold an instance of this type, possibly depending on the context.
Method to_bytes Build a byte buffer from a value of this type.
def __eq__(self, o):

Compares the instance for equality with an object.

  • if the object is not an Array, it will never be equal to this instance.
Parameters
o:objectUndocumented
Returns
boolUndocumented
def __hash__(self):

Returns the hash for this value.

Returns
intUndocumented
def __init__(self, ty, count):

Construct an array of type ty and count count.

Examples

An array of 4 contiguous 64 bits unsigned integers: >>> U64_4 = types.Array(types.U64, 4)

Information

Parameters
ty:TypeThe type of element in the resulting array type.
count:intThe number of elements in the resulting array type.
Raises
ValueErrorif count < 0.
def __ne__(self, o):

Compares the instance for equality with an object.

  • if the object is not an Array, it will never be equal to this instance.
Parameters
o:objectUndocumented
Returns
boolUndocumented
def __str__(self):

Returns the nicely printable string representation of this instance.

Returns
strUndocumented
def is_context_sensitive(self):

Whether the context argument needed by some methods actually has an effect.

Types that return False to this method are context-insensitive types. You can safely pass any object as context parameter (including None) to the methods of such type.

Note that the context-sensitivity of a type may change in the future.

Examples

Getting the size of a type without needing a context for context-insensitive types: >>> types.U32.is_context_sensitive() False >>> types.U32.size_bytes(context=None) 4 >>> array32_12 = types.Array(types.U32, 12) >>> array32_12.is_context_sensitive() False >>> array32_12.size_bytes() # context=None by default 48

Context-sensitive types may raise errors when attempting to get the size without a context: >>> types.USize.is_context_sensitive() True >>> types.USize.size_bytes(context=None) ValueError: Please provide a context when using a context-sensitive type

Returns
boolUndocumented
@property
count: int =

Property: The number of elements in the array.

@property
inner: Type =

Property: The type of element of the array.

def _construct_type(self, context=None):

Return the underlying construct instance

Parameters
context:_Optional[Context]Undocumented
Returns
_construct.core.ConstructUndocumented
def _decode(self, obj, context):

Undocumented

Returns
_ArrayInstanceUndocumented
def _encode(self, obj, _):

Undocumented

Parameters
obj:_Union[_ArrayInstance, _List]Undocumented
_Undocumented
Returns
_ListUndocumented
def _resolve(self, resolver):

Uses the resolver to return a resolved version of the type, if possible.

Parameters
resolver:BaseTypeResolverUndocumented
Returns
TypeUndocumented
_count =

Undocumented

_inner =

Undocumented