A type constructor for contiguous homogeneous arrays ([T; n]).
| Method | __init__ |
Construct an array of type ty and count count. |
| Method | parse |
Parses the value of an instance of this type from a raw buffer, possibly depending on the context. |
| Property | count |
Property: The number of elements in the array. |
| Property | inner |
Property: The type of element of the array. |
| Method | is_context_sensitive |
Whether the context argument needed by some methods actually has an effect. |
| Instance Variable | _inner |
Undocumented |
| Instance Variable | _count |
Undocumented |
| Method | _construct_type |
Return the underlying construct instance |
Inherited from Type:
| Method | to_bytes |
Build a byte buffer from a value of this type. |
| Method | size_bytes |
The minimal number of bytes necessary to hold an instance of this type, possibly depending on the context. |
reven2.types._array.RawBufferConstruct an array of type ty and count count.
An array of 4 contiguous 64 bits unsigned integers: >>> U64_4 = types.Array(types.U64, 4)
| Parameters | ty | The type of element in the resulting array type. |
| count | The number of elements in the resulting array type. | |
| Raises | ValueError | if count < 0. |
reven2.types._type.Type._construct_typeReturn the underlying construct instance
reven2.types._type.Type.parseParses the value of an instance of this type from a raw buffer, possibly depending on the context.
| Parameters | buf | Undocumented |
| context | The context object. See package documentation. |
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.
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