pub fn into_full_lines(mut self) -> (Option<String>, StringBuf) {
        match self.rfind('\n') {
            Some(idx) => {
                let remaining = self.0.split_off(idx + 1);
                (Some(self.0), Self(remaining))
            }
            None => (None, self),
        }
    }
/// Consumes data within the buffer that represent full lines (end with a newline) and returns
/// the string containing those lines.
///
/// The remaining buffer contains are returned as the second part of the tuple
Consumes data within the buffer that represent full lines (end with a newline) and returns
the string containing those lines.

The remaining buffer contains are returned as the second part of the tuple
Consumes data within the buffer that represent full lines ( end with a newline ) and returns the string containing those lines . The remaining buffer contains are returned as the second part of the tuple
pub fn into_full_lines(mut self) -> (Option<String>, StringBuf) {
        match self.rfind('\n') {
            Some(idx) => {
                let remaining = self.0.split_off(idx + 1);
                (Some(self.0), Self(remaining))
            }
            None => (None, self),
        }
    }
pub fn into_full_lines ( mut self ) -> ( Option < String > , StringBuf ) { match self . rfind ( '\n' ) { Some ( idx ) => { let remaining = self . 0 . split_off ( idx + 1 ) ; ( Some ( self . 0 ) , Self ( remaining ) ) } None => ( None , self ) , } }
Consumes data within the buffer that represent full lines (end with a newline) and returns
the string containing those lines.
Consumes data within the buffer that represent full lines ( end with a newline ) and returns the string containing those lines .
mut self