std: methodise str::capacity
This commit is contained in:
parent
3ac00a9489
commit
12750c8893
@ -1094,18 +1094,6 @@ pub fn subslice_offset(outer: &str, inner: &str) -> uint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the number of single-byte characters the string can hold without
|
|
||||||
* reallocating
|
|
||||||
*/
|
|
||||||
pub fn capacity(s: &const ~str) -> uint {
|
|
||||||
let buf: &const ~[u8] = unsafe { cast::transmute(s) };
|
|
||||||
let vcap = vec::capacity(buf);
|
|
||||||
assert!(vcap > 0u);
|
|
||||||
vcap - 1u
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Escape each char in `s` with char::escape_default.
|
/// Escape each char in `s` with char::escape_default.
|
||||||
pub fn escape_default(s: &str) -> ~str {
|
pub fn escape_default(s: &str) -> ~str {
|
||||||
let mut out: ~str = ~"";
|
let mut out: ~str = ~"";
|
||||||
@ -2020,6 +2008,7 @@ pub trait OwnedStr {
|
|||||||
fn append(&self, rhs: &str) -> ~str; // FIXME #4850: this should consume self.
|
fn append(&self, rhs: &str) -> ~str; // FIXME #4850: this should consume self.
|
||||||
fn reserve(&mut self, n: uint);
|
fn reserve(&mut self, n: uint);
|
||||||
fn reserve_at_least(&mut self, n: uint);
|
fn reserve_at_least(&mut self, n: uint);
|
||||||
|
fn capacity(&self) -> uint;
|
||||||
|
|
||||||
fn as_bytes_with_null_consume(self) -> ~[u8];
|
fn as_bytes_with_null_consume(self) -> ~[u8];
|
||||||
}
|
}
|
||||||
@ -2212,6 +2201,17 @@ fn reserve_at_least(&mut self, n: uint) {
|
|||||||
self.reserve(uint::next_power_of_two(n + 1u) - 1u)
|
self.reserve(uint::next_power_of_two(n + 1u) - 1u)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of single-byte characters the string can hold without
|
||||||
|
* reallocating
|
||||||
|
*/
|
||||||
|
fn capacity(&self) -> uint {
|
||||||
|
let buf: &const ~[u8] = unsafe { cast::transmute(self) };
|
||||||
|
let vcap = vec::capacity(buf);
|
||||||
|
assert!(vcap > 0u);
|
||||||
|
vcap - 1u
|
||||||
|
}
|
||||||
|
|
||||||
/// Convert to a vector of bytes. This does not allocate a new
|
/// Convert to a vector of bytes. This does not allocate a new
|
||||||
/// string, and includes the null terminator.
|
/// string, and includes the null terminator.
|
||||||
#[inline]
|
#[inline]
|
||||||
|
Loading…
Reference in New Issue
Block a user