Both begin() and data() do the same thing for the SmallString case, but
the std::string and llvm::StringRef constructors that are being called
are defined as taking a pointer and size.
Addresses Craig Topper's feedback in https://reviews.llvm.org/D73640
// Extra methods.
/// Explicit conversion to StringRef.
- StringRef str() const { return StringRef(this->begin(), this->size()); }
+ StringRef str() const { return StringRef(this->data(), this->size()); }
// TODO: Make this const, if it's safe...
const char* c_str() {
operator StringRef() const { return str(); }
explicit operator std::string() const {
- return std::string(this->begin(), this->size());
+ return std::string(this->data(), this->size());
}
// Extra operators.