pub struct PyDict { /* private fields */ }
Implementations§
Source§impl PyDict
impl PyDict
pub fn new_ref(ctx: &Context) -> PyRef<Self>
pub fn is_empty(&self) -> bool
pub fn get_or_insert( &self, vm: &VirtualMachine, key: PyObjectRef, default: impl FnOnce() -> PyObjectRef, ) -> PyResult
pub fn from_attributes( attrs: IndexMap<&'static PyStrInterned, PyObjectRef, RandomState>, vm: &VirtualMachine, ) -> PyResult<Self>
pub fn contains_key<K: DictKey + ?Sized>( &self, key: &K, vm: &VirtualMachine, ) -> bool
pub fn size(&self) -> DictSize
Trait Implementations§
Source§impl AsMapping for PyDict
impl AsMapping for PyDict
fn as_mapping() -> &'static PyMappingMethods
fn mapping_downcast(mapping: PyMapping<'_>) -> &Py<Self>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl AsNumber for PyDict
impl AsNumber for PyDict
fn as_number() -> &'static PyNumberMethods
fn clone_exact(_zelf: &Py<Self>, _vm: &VirtualMachine) -> PyRef<Self>
fn number_downcast(num: PyNumber<'_>) -> &Py<Self>
fn number_downcast_exact(num: PyNumber<'_>, vm: &VirtualMachine) -> PyRef<Self>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl AsSequence for PyDict
impl AsSequence for PyDict
fn as_sequence() -> &'static PySequenceMethods
fn sequence_downcast(seq: PySequence<'_>) -> &Py<Self>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Comparable for PyDict
impl Comparable for PyDict
fn cmp( zelf: &Py<Self>, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn slot_richcompare( zelf: &PyObject, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<Either<PyObjectRef, PyComparisonValue>>
fn eq( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ne( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn lt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn le( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ge( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn gt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Initializer for PyDict
impl Initializer for PyDict
type Args = (OptionalArg, KwArgs)
fn init( zelf: PyRef<Self>, (dict_obj, kwargs): Self::Args, vm: &VirtualMachine, ) -> PyResult<()>
fn slot_init( zelf: PyObjectRef, args: FuncArgs, vm: &VirtualMachine, ) -> PyResult<()>
fn __init__( zelf: PyRef<Self>, args: Self::Args, vm: &VirtualMachine, ) -> PyResult<()>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl<'a> IntoIterator for &'a PyDict
impl<'a> IntoIterator for &'a PyDict
Source§impl Iterable for PyDict
impl Iterable for PyDict
fn iter(zelf: PyRef<Self>, vm: &VirtualMachine) -> PyResult
fn slot_iter(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult
fn __iter__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult
fn extend_slots(_slots: &mut PyTypeSlots)
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl MaybeTraverse for PyDict
impl MaybeTraverse for PyDict
fn try_traverse(&self, tracer_fn: &mut TraverseFn<'_>)
Source§impl PyClassDef for PyDict
impl PyClassDef for PyDict
Source§impl PyClassImpl for PyDict
impl PyClassImpl for PyDict
const TP_FLAGS: PyTypeFlags
const METHOD_DEFS: &'static [PyMethodDef]
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>)
fn extend_slots(slots: &mut PyTypeSlots)
fn extend_class(ctx: &Context, class: &'static Py<PyType>)where
Self: Sized,
fn make_class(ctx: &Context) -> PyTypeRefwhere
Self: StaticType + Sized,
fn make_slots() -> PyTypeSlots
Source§impl PyPayload for PyDict
impl PyPayload for PyDict
fn class(ctx: &Context) -> &'static Py<PyType>
fn into_pyobject(self, vm: &VirtualMachine) -> PyObjectRef
fn _into_ref(self, cls: PyTypeRef, ctx: &Context) -> PyRef<Self>
fn into_exact_ref(self, ctx: &Context) -> PyRefExact<Self>
fn into_ref(self, ctx: &Context) -> PyRef<Self>
fn into_ref_with_type( self, vm: &VirtualMachine, cls: PyTypeRef, ) -> PyResult<PyRef<Self>>
Source§impl Representable for PyDict
impl Representable for PyDict
fn repr(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn repr_str(_zelf: &Py<Self>, _vm: &VirtualMachine) -> PyResult<String>
fn slot_repr(zelf: &PyObject, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn __repr__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyStrRef>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl StaticType for PyDict
impl StaticType for PyDict
fn static_cell() -> &'static StaticCell<PyTypeRef>
fn static_metaclass() -> &'static Py<PyType>
fn static_baseclass() -> &'static Py<PyType>
fn static_type() -> &'static Py<PyType>
fn init_manually(typ: PyTypeRef) -> &'static Py<PyType>
fn init_builtin_type() -> &'static Py<PyType>where
Self: PyClassImpl,
fn create_static_type() -> PyTypeRefwhere
Self: PyClassImpl,
Source§impl Traverse for PyDict
impl Traverse for PyDict
Source§fn traverse(&self, tracer_fn: &mut TraverseFn<'_>)
fn traverse(&self, tracer_fn: &mut TraverseFn<'_>)
impl
traverse()
with caution! Following those guideline so traverse doesn’t cause memory error!: Read moreimpl DefaultConstructor for PyDict
Auto Trait Implementations§
impl !Freeze for PyDict
impl !RefUnwindSafe for PyDict
impl !Send for PyDict
impl !Sync for PyDict
impl Unpin for PyDict
impl !UnwindSafe for PyDict
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> Constructor for Twhere
T: DefaultConstructor,
impl<T> Constructor for Twhere
T: DefaultConstructor,
type Args = FuncArgs
fn slot_new( cls: PyRef<PyType>, _args: FuncArgs, vm: &VirtualMachine, ) -> Result<PyObjectRef, PyRef<PyBaseException>>
fn py_new( cls: PyRef<PyType>, _args: <T as Constructor>::Args, vm: &VirtualMachine, ) -> Result<PyObjectRef, PyRef<PyBaseException>>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
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 more