[−][src]Struct ouroboros_examples::DocumentationExample
The example provided in the documentation.
Implementations
impl DocumentationExample
[src]
pub fn new(
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> &'this i32,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> &'this mut f32
) -> Self
[src]
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> &'this i32,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> &'this mut f32
) -> Self
Constructs a new instance of this self-referential struct. (See also DocumentationExampleBuilder::build()
). Each argument is a field of the new struct. Fields that refer to other fields inside the struct are initialized using functions instead of directly passing their value. The arguments are as follows:
Argument | Suggested Use |
---|---|
int_data | Directly pass in the value this field should contain |
float_data | Directly pass in the value this field should contain |
int_reference_builder | Use a function or closure: (int_data: &_) -> int_reference: _ |
float_reference_builder | Use a function or closure: (float_data: &mut _) -> float_reference: _ |
pub fn try_new<Error_>(
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> Result<&'this i32, Error_>,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> Result<&'this mut f32, Error_>
) -> Result<Self, Error_>
[src]
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> Result<&'this i32, Error_>,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> Result<&'this mut f32, Error_>
) -> Result<Self, Error_>
(See also DocumentationExampleTryBuilder::try_build()
.) Like new
, but builders for self-referencing fields can return results. If any of them fail, Err
is returned. If all of them succeed, Ok
is returned. The arguments are as follows:
Argument | Suggested Use |
---|---|
int_data | Directly pass in the value this field should contain |
float_data | Directly pass in the value this field should contain |
int_reference_builder | Use a function or closure: (int_data: &_) -> Result<int_reference: _, Error_> |
float_reference_builder | Use a function or closure: (float_data: &mut _) -> Result<float_reference: _, Error_> |
pub fn try_new_or_recover<Error_>(
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> Result<&'this i32, Error_>,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> Result<&'this mut f32, Error_>
) -> Result<Self, (Error_, Heads)>
[src]
int_data: Box<i32>,
float_data: Box<f32>,
int_reference_builder: impl for<'this> FnOnce(&'this <Box<i32> as Deref>::Target) -> Result<&'this i32, Error_>,
float_reference_builder: impl for<'this> FnOnce(&'this mut <Box<f32> as Deref>::Target) -> Result<&'this mut f32, Error_>
) -> Result<Self, (Error_, Heads)>
(See also DocumentationExampleTryBuilder::try_build_or_recover()
.) Like try_new
, but all head fields are returned in the case of an error. The arguments are as follows:
Argument | Suggested Use |
---|---|
int_data | Directly pass in the value this field should contain |
float_data | Directly pass in the value this field should contain |
int_reference_builder | Use a function or closure: (int_data: &_) -> Result<int_reference: _, Error_> |
float_reference_builder | Use a function or closure: (float_data: &mut _) -> Result<float_reference: _, Error_> |
pub fn with_int_data_contents<'outer_borrow, ReturnType>(
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow <Box<i32> as Deref>::Target) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow <Box<i32> as Deref>::Target) -> ReturnType
) -> ReturnType
Provides limited immutable access to the contents of int_data
. This method was generated because int_data
is immutably borrowed by other fields.
pub fn with_int_reference<'outer_borrow, ReturnType>(
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow &'this i32) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow &'this i32) -> ReturnType
) -> ReturnType
Provides an immutable reference to int_reference
. This method was generated because int_reference
is a tail field.
pub fn with_int_reference_mut<'outer_borrow, ReturnType>(
&'outer_borrow mut self,
user: impl for<'this> FnOnce(&'outer_borrow mut &'this i32) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow mut self,
user: impl for<'this> FnOnce(&'outer_borrow mut &'this i32) -> ReturnType
) -> ReturnType
Provides a mutable reference to int_reference
. This method was generated because int_reference
is a tail field.
pub fn with_float_reference<'outer_borrow, ReturnType>(
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow &'this mut f32) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow self,
user: impl for<'this> FnOnce(&'outer_borrow &'this mut f32) -> ReturnType
) -> ReturnType
Provides an immutable reference to float_reference
. This method was generated because float_reference
is a tail field.
pub fn with_float_reference_mut<'outer_borrow, ReturnType>(
&'outer_borrow mut self,
user: impl for<'this> FnOnce(&'outer_borrow mut &'this mut f32) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow mut self,
user: impl for<'this> FnOnce(&'outer_borrow mut &'this mut f32) -> ReturnType
) -> ReturnType
Provides a mutable reference to float_reference
. This method was generated because float_reference
is a tail field.
pub fn with<'outer_borrow, ReturnType>(
&'outer_borrow self,
user: impl for<'this> FnOnce(BorrowedFields<'outer_borrow, 'this>) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow self,
user: impl for<'this> FnOnce(BorrowedFields<'outer_borrow, 'this>) -> ReturnType
) -> ReturnType
This method provides immutable references to all tail and immutably borrowed fields.
pub fn with_mut<'outer_borrow, ReturnType>(
&'outer_borrow mut self,
user: impl for<'this> FnOnce(BorrowedMutFields<'outer_borrow, 'this>) -> ReturnType
) -> ReturnType
[src]
&'outer_borrow mut self,
user: impl for<'this> FnOnce(BorrowedMutFields<'outer_borrow, 'this>) -> ReturnType
) -> ReturnType
This method provides mutable references to all tail fields.
pub fn into_heads(self) -> Heads
[src]
This function drops all internally referencing fields and returns only the head fields of this struct.
Auto Trait Implementations
impl RefUnwindSafe for DocumentationExample
impl Send for DocumentationExample
impl Sync for DocumentationExample
impl Unpin for DocumentationExample
impl !UnwindSafe for DocumentationExample
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,