#[repr(C)]pub struct PyStaticClassObject<T: PyClassImpl> {
ob_base: <T::BaseType as PyClassBaseType>::LayoutAsBase,
contents: PyClassObjectContents<T>,
}Expand description
The layout of a PyClassObject with a known sized base class.
Fields§
§ob_base: <T::BaseType as PyClassBaseType>::LayoutAsBase§contents: PyClassObjectContents<T>Trait Implementations§
Source§impl<T: PyClassImpl<Layout = Self>> PyClassObjectBaseLayout<T> for PyStaticClassObject<T>
impl<T: PyClassImpl<Layout = Self>> PyClassObjectBaseLayout<T> for PyStaticClassObject<T>
fn ensure_threadsafe(&self)
fn check_threadsafe(&self) -> Result<(), PyBorrowError>
Source§impl<T: PyClassImpl<Layout = Self>> PyClassObjectLayout<T> for PyStaticClassObject<T>
impl<T: PyClassImpl<Layout = Self>> PyClassObjectLayout<T> for PyStaticClassObject<T>
Source§const CONTENTS_OFFSET: PyObjectOffset
const CONTENTS_OFFSET: PyObjectOffset
Gets the offset of the contents from the start of the struct in bytes.
Source§const BASIC_SIZE: Py_ssize_t
const BASIC_SIZE: Py_ssize_t
Used to set
PyType_Spec::basicsize
(docs)Source§const DICT_OFFSET: PyObjectOffset
const DICT_OFFSET: PyObjectOffset
Gets the offset of the dictionary from the start of the struct in bytes.
Source§const WEAKLIST_OFFSET: PyObjectOffset
const WEAKLIST_OFFSET: PyObjectOffset
Gets the offset of the weakref list from the start of the struct in bytes.
Source§unsafe fn contents_uninit(
obj: *mut PyObject,
) -> *mut MaybeUninit<PyClassObjectContents<T>>
unsafe fn contents_uninit( obj: *mut PyObject, ) -> *mut MaybeUninit<PyClassObjectContents<T>>
Obtain a pointer to the contents of an uninitialized PyObject of this type. Read more
Source§fn contents(&self) -> &PyClassObjectContents<T>
fn contents(&self) -> &PyClassObjectContents<T>
Obtain a reference to the structure that contains the pyclass struct and associated metadata.
Source§fn contents_mut(&mut self) -> &mut PyClassObjectContents<T>
fn contents_mut(&mut self) -> &mut PyClassObjectContents<T>
Obtain a mutable reference to the structure that contains the pyclass struct and associated metadata.
Source§fn ob_base(&self) -> &<T::BaseType as PyClassBaseType>::LayoutAsBase
fn ob_base(&self) -> &<T::BaseType as PyClassBaseType>::LayoutAsBase
obtain a reference to the data at the start of the PyObject.
fn borrow_checker( &self, ) -> &<T::PyClassMutability as PyClassMutability>::Checker
impl<T: PyClassImpl> PyLayout<T> for PyStaticClassObject<T>
impl<T: PyClass> PySizedLayout<T> for PyStaticClassObject<T>
Auto Trait Implementations§
impl<T> !Freeze for PyStaticClassObject<T>
impl<T> !RefUnwindSafe for PyStaticClassObject<T>
impl<T> Send for PyStaticClassObject<T>where
<<T as PyClassImpl>::BaseType as PyClassBaseType>::LayoutAsBase: Send,
<<T as PyClassImpl>::PyClassMutability as PyClassMutability>::Storage: Send,
<T as PyClassImpl>::ThreadChecker: Send,
<T as PyClassImpl>::Dict: Send,
<T as PyClassImpl>::WeakRef: Send,
T: Send,
impl<T> !Sync for PyStaticClassObject<T>
impl<T> Unpin for PyStaticClassObject<T>where
<<T as PyClassImpl>::BaseType as PyClassBaseType>::LayoutAsBase: Unpin,
<<T as PyClassImpl>::PyClassMutability as PyClassMutability>::Storage: Unpin,
<T as PyClassImpl>::ThreadChecker: Unpin,
<T as PyClassImpl>::Dict: Unpin,
<T as PyClassImpl>::WeakRef: Unpin,
T: Unpin,
impl<T> UnsafeUnpin for PyStaticClassObject<T>where
<<T as PyClassImpl>::BaseType as PyClassBaseType>::LayoutAsBase: UnsafeUnpin,
<<T as PyClassImpl>::PyClassMutability as PyClassMutability>::Storage: UnsafeUnpin,
<T as PyClassImpl>::ThreadChecker: UnsafeUnpin,
<T as PyClassImpl>::Dict: UnsafeUnpin,
<T as PyClassImpl>::WeakRef: UnsafeUnpin,
T: UnsafeUnpin,
impl<T> UnwindSafe for PyStaticClassObject<T>where
<<T as PyClassImpl>::BaseType as PyClassBaseType>::LayoutAsBase: UnwindSafe,
<<T as PyClassImpl>::PyClassMutability as PyClassMutability>::Storage: UnwindSafe,
<T as PyClassImpl>::ThreadChecker: UnwindSafe,
<T as PyClassImpl>::Dict: UnwindSafe,
<T as PyClassImpl>::WeakRef: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
🔬This is a nightly-only experimental API. (
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read more