You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello. I think it is OK as a result of StrBlobPtr::operator+=(size_t n) to get a trailing pointer. So maybe it is better to use the code below.
inline StrBlobPtr& StrBlobPtr::operator+=(size_t n)
{
curr += n;
check(curr - 1, "increment past end of StrBlobPtr"); // changedreturn *this;
}
Attached check function code.
inline shared_ptr<vector<string>> StrBlobPtr::check(size_t i, const string &msg) const
{
auto ret = wptr.lock();
if (!ret) throwstd::runtime_error("unbound StrBlobPtr");
if (i >= ret->size()) throwstd::out_of_range(msg);
return ret;
}
The text was updated successfully, but these errors were encountered:
Hello. I think it is OK as a result of
StrBlobPtr::operator+=(size_t n)
to get a trailing pointer. So maybe it is better to use the code below.Attached check function code.
The text was updated successfully, but these errors were encountered: