void check_starr(int n, const char* A[], const SA& sa) { ASSERT_EQ(n, sa.length()); for (int i = 0; i < n; ++i) { std::string p = sa.get_str(i); ASSERT_EQ(p, A[i]); } for (int i = 0; i < n; ++i) { StringPtr pt = sa.get(i); unsigned slen = strlen(A[i]); ASSERT_EQ(slen, pt->length()); ASSERT_EQ(0, strncmp(A[i], pt->c_str(), slen)); } }