pub struct Output<'a, 'b, DB>where
DB: Backend,
DB::MetadataLookup: 'a,{ /* private fields */ }
Expand description
Wraps a buffer to be written by ToSql
with additional backend specific
utilities.
Implementations§
Source§impl<'a, 'b, DB: Backend> Output<'a, 'b, DB>
impl<'a, 'b, DB: Backend> Output<'a, 'b, DB>
Sourcepub fn new(
out: <DB::BindCollector<'a> as BindCollector<'a, DB>>::Buffer,
metadata_lookup: &'b mut DB::MetadataLookup,
) -> Self
pub fn new( out: <DB::BindCollector<'a> as BindCollector<'a, DB>>::Buffer, metadata_lookup: &'b mut DB::MetadataLookup, ) -> Self
Construct a new Output
Sourcepub fn into_inner(
self,
) -> <DB::BindCollector<'a> as BindCollector<'a, DB>>::Buffer
pub fn into_inner( self, ) -> <DB::BindCollector<'a> as BindCollector<'a, DB>>::Buffer
Consume the current Output
structure to access the inner buffer type
This function is only useful for people implementing their own Backend.
Sourcepub fn metadata_lookup(&mut self) -> &mut DB::MetadataLookup
pub fn metadata_lookup(&mut self) -> &mut DB::MetadataLookup
Returns the backend’s mechanism for dynamically looking up type metadata at runtime, if relevant for the given backend.
Source§impl<'a, DB> Output<'a, '_, DB>where
for<'c> DB: Backend<BindCollector<'c> = RawBytesBindCollector<DB>>,
impl<'a, DB> Output<'a, '_, DB>where
for<'c> DB: Backend<BindCollector<'c> = RawBytesBindCollector<DB>>,
Sourcepub fn reborrow<'c>(&'c mut self) -> Output<'c, 'c, DB> ⓘwhere
'a: 'c,
pub fn reborrow<'c>(&'c mut self) -> Output<'c, 'c, DB> ⓘwhere
'a: 'c,
Call this method whenever you pass an instance of Output<DB>
by value.
Effectively copies self
, with a narrower lifetime. When passing a
reference or a mutable reference, this is normally done by rust
implicitly. This is why you can pass &mut Foo
to multiple functions,
even though mutable references are not Copy
. However, this is only
done implicitly for references. For structs with lifetimes it must be
done explicitly. This method matches the semantics of what Rust would do
implicitly if you were passing a mutable reference
Trait Implementations§
Source§impl<DB> Write for Output<'_, '_, DB>where
for<'c> DB: Backend<BindCollector<'c> = RawBytesBindCollector<DB>>,
impl<DB> Write for Output<'_, '_, DB>where
for<'c> DB: Backend<BindCollector<'c> = RawBytesBindCollector<DB>>,
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Source§fn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Source§fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<()>
fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<()>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)Auto Trait Implementations§
impl<'a, 'b, DB> Freeze for Output<'a, 'b, DB>
impl<'a, 'b, DB> RefUnwindSafe for Output<'a, 'b, DB>where
<<DB as Backend>::BindCollector<'a> as BindCollector<'a, DB>>::Buffer: RefUnwindSafe,
<DB as TypeMetadata>::MetadataLookup: RefUnwindSafe,
impl<'a, 'b, DB> Send for Output<'a, 'b, DB>where
<<DB as Backend>::BindCollector<'a> as BindCollector<'a, DB>>::Buffer: Send,
<DB as TypeMetadata>::MetadataLookup: Send,
impl<'a, 'b, DB> Sync for Output<'a, 'b, DB>where
<<DB as Backend>::BindCollector<'a> as BindCollector<'a, DB>>::Buffer: Sync,
<DB as TypeMetadata>::MetadataLookup: Sync,
impl<'a, 'b, DB> Unpin for Output<'a, 'b, DB>
impl<'a, 'b, DB> !UnwindSafe for Output<'a, 'b, DB>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.