pub struct ArrayType {
pub element_type: TypeIndex,
pub indexing_type: TypeIndex,
pub stride: Option<u32>,
pub dimensions: Vec<u32>,
}
Expand description
The information parsed from a type record with kind
LF_ARRAY
, LF_ARRAY_ST
or LF_STRIDED_ARRAY
.
Fields
element_type: TypeIndex
indexing_type: TypeIndex
stride: Option<u32>
dimensions: Vec<u32>
Contains array dimensions as specified in the PDB. This is not what you expect:
- Dimensions are specified in terms of byte sizes, not element counts.
- Multidimensional arrays aggregate the lower dimensions into the sizes of the higher dimensions.
Thus a float[4][4]
has dimensions: [16, 64]
. Determining array dimensions in terms
of element counts requires determining the size of the element_type
and iteratively
dividing.
Trait Implementations
impl Eq for ArrayType
impl StructuralEq for ArrayType
impl StructuralPartialEq for ArrayType
Auto Trait Implementations
impl RefUnwindSafe for ArrayType
impl Send for ArrayType
impl Sync for ArrayType
impl Unpin for ArrayType
impl UnwindSafe for ArrayType
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more