Struct ssbh_lib::RelPtr64 [−][src]
#[repr(transparent)]pub struct RelPtr64<T: BinRead>(_);
Expand description
A 64 bit file pointer relative to the start of the pointer type.
Implementations
Methods from Deref<Target = Option<T>>
#[must_use = "if you intended to assert that this has a value, consider `.unwrap()` instead"]pub const fn is_some(&self) -> bool
1.0.0 (const: 1.48.0)[src]
#[must_use = "if you intended to assert that this has a value, consider `.unwrap()` instead"]pub const fn is_some(&self) -> bool
1.0.0 (const: 1.48.0)[src]#[must_use = "if you intended to assert that this doesn't have a value, consider \ `.and_then(|_| panic!(\"`Option` had a value when expected `None`\"))` instead"]pub const fn is_none(&self) -> bool
1.0.0 (const: 1.48.0)[src]
#[must_use = "if you intended to assert that this doesn't have a value, consider \ `.and_then(|_| panic!(\"`Option` had a value when expected `None`\"))` instead"]pub const fn is_none(&self) -> bool
1.0.0 (const: 1.48.0)[src]#[must_use]pub fn contains<U>(&self, x: &U) -> bool where
U: PartialEq<T>,
[src]
🔬 This is a nightly-only experimental API. (option_result_contains
)
#[must_use]pub fn contains<U>(&self, x: &U) -> bool where
U: PartialEq<T>,
[src]option_result_contains
)Returns true
if the option is a Some
value containing the given value.
Examples
#![feature(option_result_contains)] let x: Option<u32> = Some(2); assert_eq!(x.contains(&2), true); let x: Option<u32> = Some(3); assert_eq!(x.contains(&2), false); let x: Option<u32> = None; assert_eq!(x.contains(&2), false);
pub const fn as_ref(&self) -> Option<&T>
1.0.0 (const: 1.48.0)[src]
pub const fn as_ref(&self) -> Option<&T>
1.0.0 (const: 1.48.0)[src]Converts from &Option<T>
to Option<&T>
.
Examples
Converts an Option<
String
>
into an Option<
usize
>
, preserving the original.
The map
method takes the self
argument by value, consuming the original,
so this technique uses as_ref
to first take an Option
to a reference
to the value inside the original.
let text: Option<String> = Some("Hello, world!".to_string()); // First, cast `Option<String>` to `Option<&String>` with `as_ref`, // then consume *that* with `map`, leaving `text` on the stack. let text_length: Option<usize> = text.as_ref().map(|s| s.len()); println!("still can print text: {:?}", text);
pub fn as_deref(&self) -> Option<&<T as Deref>::Target>
1.40.0[src]
pub fn as_deref(&self) -> Option<&<T as Deref>::Target>
1.40.0[src]Converts from Option<T>
(or &Option<T>
) to Option<&T::Target>
.
Leaves the original Option in-place, creating a new one with a reference
to the original one, additionally coercing the contents via Deref
.
Examples
let x: Option<String> = Some("hey".to_owned()); assert_eq!(x.as_deref(), Some("hey")); let x: Option<String> = None; assert_eq!(x.as_deref(), None);
Trait Implementations
impl<T: BinRead> BinRead for RelPtr64<T>
[src]
impl<T: BinRead> BinRead for RelPtr64<T>
[src]type Args = T::Args
type Args = T::Args
The type of arguments needed to be supplied in order to read this type, usually a tuple. Read more
fn read_options<R: Read + Seek>(
reader: &mut R,
options: &ReadOptions,
args: Self::Args
) -> BinResult<Self>
[src]
fn read_options<R: Read + Seek>(
reader: &mut R,
options: &ReadOptions,
args: Self::Args
) -> BinResult<Self>
[src]Read the type from the reader
fn read<R>(reader: &mut R) -> Result<Self, Error> where
R: Read + Seek,
[src]
fn read<R>(reader: &mut R) -> Result<Self, Error> where
R: Read + Seek,
[src]Read the type from the reader while assuming no arguments have been passed Read more
fn read_args<R>(reader: &mut R, args: Self::Args) -> Result<Self, Error> where
R: Read + Seek,
[src]
fn read_args<R>(reader: &mut R, args: Self::Args) -> Result<Self, Error> where
R: Read + Seek,
[src]Read the type from the reader using the specified arguments
fn after_parse<R>(
&mut self,
&mut R,
&ReadOptions,
Self::Args
) -> Result<(), Error> where
R: Read + Seek,
[src]
&mut self,
&mut R,
&ReadOptions,
Self::Args
) -> Result<(), Error> where
R: Read + Seek,
impl<'de, T: BinRead> Deserialize<'de> for RelPtr64<T> where
T: Deserialize<'de>,
[src]
impl<'de, T: BinRead> Deserialize<'de> for RelPtr64<T> where
T: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl<T: SsbhWrite + BinRead> SsbhWrite for RelPtr64<T>
[src]
impl<T: SsbhWrite + BinRead> SsbhWrite for RelPtr64<T>
[src]fn write_ssbh<W: Write + Seek>(
&self,
writer: &mut W,
data_ptr: &mut u64
) -> Result<()>
[src]
fn write_ssbh<W: Write + Seek>(
&self,
writer: &mut W,
data_ptr: &mut u64
) -> Result<()>
[src]Writes the byte representation of self
to writer
and update data_ptr
as needed to ensure the next relative offset is correctly calculated.
fn size_in_bytes(&self) -> u64
[src]
fn size_in_bytes(&self) -> u64
[src]The offset in bytes between successive elements in an array of this type. This should include any alignment or padding. For most types, this is simply the value of std::mem::size_of. Read more
fn alignment_in_bytes(&self) -> u64
[src]
fn alignment_in_bytes(&self) -> u64
[src]The alignment of the relative_offset for types stored in a RelPtr64.
Auto Trait Implementations
impl<T> RefUnwindSafe for RelPtr64<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for RelPtr64<T> where
T: Send,
T: Send,
impl<T> Sync for RelPtr64<T> where
T: Sync,
T: Sync,
impl<T> Unpin for RelPtr64<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for RelPtr64<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,