Struct repc::layout::TypeLayout [−][src]
pub struct TypeLayout {
pub size_bits: u64,
pub field_alignment_bits: u64,
pub pointer_alignment_bits: u64,
pub required_alignment_bits: u64,
}
Expand description
The computed layout of a type.
Fields
size_bits: u64
The size of the type in bits.
This is the value returned by sizeof
and C and std::mem::size_of
in Rust
(but in bits instead of bytes). This is a multiple of pointer_alignment_bits
.
field_alignment_bits: u64
The alignment of the type, in bits, when used as a field in a record.
This is usually the value returned by _Alignof
in C, but there are some edge
cases in GCC where _Alignof
returns a smaller value.
pointer_alignment_bits: u64
The alignment, in bits, of valid pointers to this type.
This is the value returned by std::mem::align_of
in Rust
(but in bits instead of bytes). size_bits
is a multiple of this value.
required_alignment_bits: u64
The required alignment of the type in bits.
This value is only used by MSVC targets. It is 8 on all other
targets. On MSVC targets, this value restricts the effects of #pragma pack
except
in some cases involving bit-fields.
Trait Implementations
Returns the “default value” for a type. Read more
type TypeLayout = TypeLayout
type TypeLayout = TypeLayout
The type used to encode the layout of the type itself.
type FieldLayout = FieldLayout
type FieldLayout = FieldLayout
The type used to encode the layout of a field in a record.
type OpaqueLayout = TypeLayout
type OpaqueLayout = TypeLayout
The type used to encode the layout of an opaque type.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for TypeLayout
impl Send for TypeLayout
impl Sync for TypeLayout
impl Unpin for TypeLayout
impl UnwindSafe for TypeLayout
Blanket Implementations
Mutably borrows from an owned value. Read more