diff options
| author | bors <bors@rust-lang.org> | 2013-08-30 04:40:47 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-08-30 04:40:47 -0700 |
| commit | 1f9bd62fd6d63689b2d4bb4338625addf0e09bdd (patch) | |
| tree | 0492bfee0c9883c33243c6a7ad55195f5a83d0f4 /src/libstd | |
| parent | 72bf8956298107d36430bbfc4a18177e7b2097c6 (diff) | |
| parent | b656bfaaa96dd8d242e6045e7e38b355992aca31 (diff) | |
| download | rust-1f9bd62fd6d63689b2d4bb4338625addf0e09bdd.tar.gz rust-1f9bd62fd6d63689b2d4bb4338625addf0e09bdd.zip | |
auto merge of #8857 : blake2-ppc/rust/std-str-remove, r=thestinger
These are very easy to replace with methods on string slices, basically
`.char_len()` and `.len()`.
These are the replacement implementations I did to clean these
functions up, but seeing this I propose removal:
/// ...
pub fn count_chars(s: &str, begin: uint, end: uint) -> uint {
// .slice() checks the char boundaries
s.slice(begin, end).char_len()
}
/// Counts the number of bytes taken by the first `n` chars in `s`
/// starting from byte index `begin`.
///
/// Fails if there are less than `n` chars past `begin`
pub fn count_bytes<'b>(s: &'b str, begin: uint, n: uint) -> uint {
s.slice_from(begin).slice_chars(0, n).len()
}
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/str.rs | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/libstd/str.rs b/src/libstd/str.rs index feca2db6705..3265c470e90 100644 --- a/src/libstd/str.rs +++ b/src/libstd/str.rs @@ -907,46 +907,6 @@ pub fn with_capacity(capacity: uint) -> ~str { } } -/// As char_len but for a slice of a string -/// -/// # Arguments -/// -/// * s - A valid string -/// * start - The position inside `s` where to start counting in bytes -/// * end - The position where to stop counting -/// -/// # Return value -/// -/// The number of Unicode characters in `s` between the given indices. -pub fn count_chars(s: &str, start: uint, end: uint) -> uint { - assert!(s.is_char_boundary(start)); - assert!(s.is_char_boundary(end)); - let mut i = start; - let mut len = 0u; - while i < end { - let next = s.char_range_at(i).next; - len += 1u; - i = next; - } - return len; -} - -/// Counts the number of bytes taken by the first `n` chars in `s` -/// starting from `start`. -pub fn count_bytes<'b>(s: &'b str, start: uint, n: uint) -> uint { - assert!(s.is_char_boundary(start)); - let mut end = start; - let mut cnt = n; - let l = s.len(); - while cnt > 0u { - assert!(end < l); - let next = s.char_range_at(end).next; - cnt -= 1u; - end = next; - } - end - start -} - // https://tools.ietf.org/html/rfc3629 static UTF8_CHAR_WIDTH: [u8, ..256] = [ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
