Struct abi_stable::type_layout::CompTLField
source · pub struct CompTLField { /* private fields */ }
Expand description
A TLField
represented as a u64
,
expadable to a TLField
by calling the expand
method.
Implementations§
source§impl CompTLField
impl CompTLField
sourcepub const fn new(
name: StartLen,
lifetime_indices: LifetimeRange,
field_accessor: CompFieldAccessor,
layout: TypeLayoutIndex,
is_function: bool,
) -> Self
pub const fn new( name: StartLen, lifetime_indices: LifetimeRange, field_accessor: CompFieldAccessor, layout: TypeLayoutIndex, is_function: bool, ) -> Self
Constructs a CompTLField.
sourcepub const fn name_start_len(&self) -> StartLen
pub const fn name_start_len(&self) -> StartLen
Gets the range representing the name in the string slice field inside
the SharedVars
field of the TypeLayout
that contains this.
sourcepub const fn type_layout_index(&self) -> usize
pub const fn type_layout_index(&self) -> usize
Gets the index of the type layout of the field in
the slice of type layouts inside
the SharedVars
field of the TypeLayout
that contains this.
sourcepub const fn is_function(&self) -> bool
pub const fn is_function(&self) -> bool
Whether this field is a function. This is only true if the type is a function pointer(not inside some other type).
source§impl CompTLField
impl CompTLField
sourcepub fn name(&self, strings: &'static str) -> &'static str
pub fn name(&self, strings: &'static str) -> &'static str
Gets the name of the field from SharedVars
’s string slice.
sourcepub fn lifetime_indices(
&self,
indices: &'static [LifetimeIndexPair],
) -> LifetimeArrayOrSlice<'static>
pub fn lifetime_indices( &self, indices: &'static [LifetimeIndexPair], ) -> LifetimeArrayOrSlice<'static>
Gets the name of the field from SharedVars
’s slice of lifetime indices.
sourcepub fn field_accessor(&self, strings: &'static str) -> FieldAccessor
pub fn field_accessor(&self, strings: &'static str) -> FieldAccessor
Gets the FieldAccessor
for the type from SharedVars
’s string slice,
which describes whether a field is accessible,and how it is accessed..
sourcepub const fn type_layout(
&self,
type_layouts: &'static [extern "C" fn() -> &'static TypeLayout],
) -> extern "C" fn() -> &'static TypeLayout
pub const fn type_layout( &self, type_layouts: &'static [extern "C" fn() -> &'static TypeLayout], ) -> extern "C" fn() -> &'static TypeLayout
Gets the name of the field from SharedVars
’s slice of type layouts.
sourcepub fn expand(
&self,
field_index: usize,
functions: Option<&'static TLFunctions>,
vars: &'static SharedVars,
) -> TLField
pub fn expand( &self, field_index: usize, functions: Option<&'static TLFunctions>, vars: &'static SharedVars, ) -> TLField
Expands this CompTLField into a TLField.
Trait Implementations§
source§impl Clone for CompTLField
impl Clone for CompTLField
source§fn clone(&self) -> CompTLField
fn clone(&self) -> CompTLField
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CompTLField
impl Debug for CompTLField
source§impl GetStaticEquivalent_ for CompTLField
impl GetStaticEquivalent_ for CompTLField
source§type StaticEquivalent = _static_CompTLField
type StaticEquivalent = _static_CompTLField
'static
equivalent of Self
source§impl StableAbi for CompTLField
impl StableAbi for CompTLField
source§type IsNonZeroType = <u64 as StableAbi>::IsNonZeroType
type IsNonZeroType = <u64 as StableAbi>::IsNonZeroType
source§const LAYOUT: &'static TypeLayout = _
const LAYOUT: &'static TypeLayout = _
source§const ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const
-equivalents of the associated types.impl Copy for CompTLField
Auto Trait Implementations§
impl Freeze for CompTLField
impl RefUnwindSafe for CompTLField
impl Send for CompTLField
impl Sync for CompTLField
impl Unpin for CompTLField
impl UnwindSafe for CompTLField
Blanket Implementations§
source§impl<T> AlignerFor<1> for T
impl<T> AlignerFor<1> for T
source§impl<T> AlignerFor<1024> for T
impl<T> AlignerFor<1024> for T
source§type Aligner = AlignTo1024<T>
type Aligner = AlignTo1024<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<128> for T
impl<T> AlignerFor<128> for T
source§type Aligner = AlignTo128<T>
type Aligner = AlignTo128<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<16> for T
impl<T> AlignerFor<16> for T
source§impl<T> AlignerFor<16384> for T
impl<T> AlignerFor<16384> for T
source§type Aligner = AlignTo16384<T>
type Aligner = AlignTo16384<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<2> for T
impl<T> AlignerFor<2> for T
source§impl<T> AlignerFor<2048> for T
impl<T> AlignerFor<2048> for T
source§type Aligner = AlignTo2048<T>
type Aligner = AlignTo2048<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<256> for T
impl<T> AlignerFor<256> for T
source§type Aligner = AlignTo256<T>
type Aligner = AlignTo256<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<32> for T
impl<T> AlignerFor<32> for T
source§impl<T> AlignerFor<32768> for T
impl<T> AlignerFor<32768> for T
source§type Aligner = AlignTo32768<T>
type Aligner = AlignTo32768<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<4> for T
impl<T> AlignerFor<4> for T
source§impl<T> AlignerFor<4096> for T
impl<T> AlignerFor<4096> for T
source§type Aligner = AlignTo4096<T>
type Aligner = AlignTo4096<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<512> for T
impl<T> AlignerFor<512> for T
source§type Aligner = AlignTo512<T>
type Aligner = AlignTo512<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> AlignerFor<64> for T
impl<T> AlignerFor<64> for T
source§impl<T> AlignerFor<8> for T
impl<T> AlignerFor<8> for T
source§impl<T> AlignerFor<8192> for T
impl<T> AlignerFor<8192> for T
source§type Aligner = AlignTo8192<T>
type Aligner = AlignTo8192<T>
AlignTo*
type which aligns Self
to ALIGNMENT
.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
source§fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
source§fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset
. Read moresource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset
. Read moresource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset
. Read moresource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset
. Read moresource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset
) with value
,
returning the previous value of the field. Read moresource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset
) with value
,
returning the previous value of the field. Read moresource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read moresource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped
, except that the function takes &mut Self
.
Useful for functions that take &mut Self
instead of Self
.source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more