wtx 0.28.0

A collection of different transport implementations and related tools focused primarily on web technologies.
use crate::misc::{Lease, SuffixWriterFbvm};

/// Struct used for encoding elements in PostgreSQL.
#[derive(Debug)]
pub struct EncodeWrapper<'buffer, 'tmp> {
  sw: &'tmp mut SuffixWriterFbvm<'buffer>,
}

impl<'buffer, 'tmp> EncodeWrapper<'buffer, 'tmp> {
  #[inline]
  pub(crate) fn new(sw: &'tmp mut SuffixWriterFbvm<'buffer>) -> Self {
    Self { sw }
  }

  /// See [`FilledBufferWriter`].
  #[inline]
  pub fn sw(&mut self) -> &mut SuffixWriterFbvm<'buffer> {
    self.sw
  }
}

impl Lease<[u8]> for EncodeWrapper<'_, '_> {
  #[inline]
  fn lease(&self) -> &[u8] {
    self.sw._curr_bytes()
  }
}