Add StringRef::front (with some small tweaks while I was in the area).

- Patch by Erick Tryzelaar


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78883 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-08-13 02:03:30 +00:00
parent d06791f6d0
commit ac55b85438

View File

@ -76,14 +76,21 @@ namespace llvm {
/// size - Get the string size. /// size - Get the string size.
size_t size() const { return Length; } size_t size() const { return Length; }
/// front - Get the first character in the string.
char front() const {
assert(!empty());
return Data[0];
}
/// back - Get the last character in the string.
char back() const { char back() const {
assert(!empty()); assert(!empty());
return Data[Length-1]; return Data[Length-1];
} }
/// equals - Check for string equality, this is more efficient than /// equals - Check for string equality, this is more efficient than
/// compare() in when the relative ordering of inequal strings isn't needed. /// compare() when the relative ordering of inequal strings isn't needed.
bool equals(const StringRef &RHS) const { bool equals(const StringRef &RHS) const {
return (Length == RHS.Length && return (Length == RHS.Length &&
memcmp(Data, RHS.Data, RHS.Length) == 0); memcmp(Data, RHS.Data, RHS.Length) == 0);