Skip to main content

PyUtf8Str

Struct PyUtf8Str 

Source
pub struct PyUtf8Str(/* private fields */);

Implementations§

Source§

impl PyUtf8Str

Source

pub fn as_wtf8(&self) -> &Wtf8

Returns the underlying WTF-8 slice (always valid UTF-8 for this type).

Source

pub fn as_str(&self) -> &str

Returns the underlying string slice.

Source

pub fn as_bytes(&self) -> &[u8] ⓘ

Source

pub fn byte_len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn char_len(&self) -> usize

Trait Implementations§

Source§

impl AsRef<Wtf8> for PyUtf8Str

Source§

fn as_ref(&self) -> &Wtf8

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<str> for PyUtf8Str

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Debug for PyUtf8Str

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for PyUtf8Str

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for PyUtf8Str

Source§

impl<'a> From<&'a AsciiStr> for PyUtf8Str

Source§

fn from(s: &'a AsciiStr) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<&'a str> for PyUtf8Str

Source§

fn from(s: &'a str) -> Self

Converts to this type from the input type.
Source§

impl From<AsciiChar> for PyUtf8Str

Source§

fn from(ch: AsciiChar) -> Self

Converts to this type from the input type.
Source§

impl From<AsciiString> for PyUtf8Str

Source§

fn from(s: AsciiString) -> Self

Converts to this type from the input type.
Source§

impl From<Box<AsciiStr>> for PyUtf8Str

Source§

fn from(s: Box<AsciiStr>) -> Self

Converts to this type from the input type.
Source§

impl From<Box<str>> for PyUtf8Str

Source§

fn from(value: Box<str>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<Cow<'a, str>> for PyUtf8Str

Source§

fn from(s: Cow<'a, str>) -> Self

Converts to this type from the input type.
Source§

impl From<String> for PyUtf8Str

Source§

fn from(s: String) -> Self

Converts to this type from the input type.
Source§

impl From<char> for PyUtf8Str

Source§

fn from(ch: char) -> Self

Converts to this type from the input type.
Source§

impl MaybeTraverse for PyUtf8Str

Source§

const HAS_TRAVERSE: bool = true

if is traceable, will be used by vtable to determine
Source§

const HAS_CLEAR: bool = false

if has clear implementation for circular reference resolution (tp_clear)
Source§

fn try_traverse(&self, traverse_fn: &mut TraverseFn<'_>)

Source§

fn try_clear(&mut self, _out: &mut Vec<PyObjectRef>)

Source§

impl PartialEq for PyUtf8Str

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PyPayload for PyUtf8Str

Source§

const PAYLOAD_TYPE_ID: TypeId

Source§

fn class(ctx: &Context) -> &'static Py<PyType>

Source§

unsafe fn validate_downcastable_from(obj: &PyObject) -> bool

Safety Read more
Source§

fn try_downcast_from(obj: &PyObject, vm: &VirtualMachine) -> PyResult<()>

Source§

const NEW_REF_UNTRACKED: bool = false

Whether PyRef::new_ref skips auto-tracking this type in the GC even when it would otherwise qualify (has traverse, dict, or heap type). Such objects are created untracked and must be tracked explicitly if and when they can become part of a reference cycle. Used by FrameObject, which is created untracked and tracked lazily only on escape.
Source§

const HAS_FREELIST: bool = false

Whether this type has a freelist. Types with freelists require immediate (non-deferred) GC untracking during dealloc to prevent race conditions when the object is reused.
Source§

const MAX_FREELIST: usize = 0

Maximum number of objects to keep in the freelist.
Source§

unsafe fn freelist_push(_obj: *mut PyObject) -> bool

Try to push a dead object onto this type’s freelist for reuse. Returns true if the object was stored (caller must NOT free the memory). Called after tp_clear, so the payload is a cleared husk; implementations must not rely on its pre-clear contents. Read more
Source§

unsafe fn freelist_pop(_payload: &Self) -> Option<NonNull<PyObject>>

Try to pop a pre-allocated object from this type’s freelist. The returned pointer still has the old payload; the caller must reinitialize ref_count, gc_bits, and payload. Read more
Source§

fn into_pyobject(self, vm: &VirtualMachine) -> PyObjectRef
where Self: Debug,

Source§

fn _into_ref(self, cls: PyTypeRef, ctx: &Context) -> PyRef<Self>
where Self: Debug,

Source§

fn into_exact_ref(self, ctx: &Context) -> PyRefExact<Self>
where Self: Debug,

Source§

fn into_ref(self, ctx: &Context) -> PyRef<Self>
where Self: Debug,

Source§

fn into_ref_with_type( self, vm: &VirtualMachine, cls: PyTypeRef, ) -> PyResult<PyRef<Self>>
where Self: Debug,

Source§

fn into_ref_with_type_lazy_dict( self, vm: &VirtualMachine, cls: PyTypeRef, ) -> PyResult<PyRef<Self>>
where Self: Debug,

Like into_ref_with_type, but leaves the instance __dict__ unallocated until the first attribute write or __dict__ access. Only valid for types whose attribute protocol materializes the dict lazily via get_or_insert.
Source§

fn into_ref_with_type_and_dict( self, vm: &VirtualMachine, cls: PyTypeRef, eager_dict: bool, ) -> PyResult<PyRef<Self>>
where Self: Debug,

Source§

impl ToCString for PyUtf8Str

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Candidate for T
where T: AsRef<str>,

Source§

fn display(&self) -> &str

Text to display when listing alternatives.
Source§

fn replacement(&self) -> &str

Text to insert in line.
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T, U> ExactFrom<T> for U
where U: TryFrom<T>,

Source§

fn exact_from(value: T) -> U

Source§

impl<T, U> ExactInto<U> for T
where U: ExactFrom<T>,

Source§

fn exact_into(self) -> U

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Helper for T

Source§

impl<T> Hint for T
where T: AsRef<str>,

Source§

fn display(&self) -> &str

Text to display when hint is active
Source§

fn completion(&self) -> Option<&str>

Text to insert in line when right arrow is pressed
Source§

impl<T, U> ImaginaryInto<U> for T
where U: ImaginaryFrom<T>,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> OverflowingInto<U> for T
where U: OverflowingFrom<T>,

Source§

impl<T> PrimitiveIntRandomBounds for T

Source§

impl<T> PrimitiveSignedRandomBounds for T

Source§

impl<T> PyObjectPayload for T
where T: PyPayload + Debug + 'static,

Source§

impl<T> PyThreadingConstraint for T

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> RoundingInto<U> for T
where U: RoundingFrom<T>,

Source§

impl<T, U> SaturatingInto<U> for T
where U: SaturatingFrom<T>,

Source§

impl<T> ToCharString for T
where T: Display,

Source§

fn try_to_char_string(&self) -> Result<CharString, ToCharStringError>

Attempts to convert the value to a CharString. Read more
Source§

fn to_char_string(&self) -> CharString

Converts the value to a CharString. Read more
Source§

impl<T> ToCompactString for T
where T: Display,

Source§

impl<T> ToDebugString for T
where T: Debug,

Source§

fn to_debug_string(&self) -> String

Returns the String produced by Ts Debug implementation.

§Examples
use malachite_base::strings::ToDebugString;

assert_eq!([1, 2, 3].to_debug_string(), "[1, 2, 3]");
assert_eq!(
    [vec![2, 3], vec![], vec![4]].to_debug_string(),
    "[[2, 3], [], [4]]"
);
assert_eq!(Some(5).to_debug_string(), "Some(5)");
Source§

impl<T> ToPyObject for T
where T: PyPayload + Debug,

Source§

impl<T> ToPyResult for T
where T: ToPyObject,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> WrappingInto<U> for T
where U: WrappingFrom<T>,

Source§

fn wrapping_into(self) -> U