MCPcopy Index your code
hub / github.com/RustPython/RustPython / replace_interleave

Method replace_interleave

crates/vm/src/bytes_inner.rs:755–768  ·  view source on GitHub ↗

len(self)>=1, from="", len(to)>=1, max_count>=1

(&self, to: Self, max_count: Option<usize>)

Source from the content-addressed store, hash-verified

753
754 // len(self)>=1, from="", len(to)>=1, max_count>=1
755 fn replace_interleave(&self, to: Self, max_count: Option<usize>) -> Vec<u8> {
756 let place_count = self.elements.len() + 1;
757 let count = max_count.map_or(place_count, |v| core::cmp::min(v, place_count)) - 1;
758 let capacity = self.elements.len() + count * to.len();
759 let mut result = Vec::with_capacity(capacity);
760 let to_slice = to.elements.as_slice();
761 result.extend_from_slice(to_slice);
762 for c in &self.elements[..count] {
763 result.push(*c);
764 result.extend_from_slice(to_slice);
765 }
766 result.extend_from_slice(&self.elements[count..]);
767 result
768 }
769
770 fn replace_delete(&self, from: Self, max_count: Option<usize>) -> Vec<u8> {
771 let count = count_substring(

Callers 1

replaceMethod · 0.80

Calls 4

minFunction · 0.85
lenMethod · 0.45
as_sliceMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected