Exemple #1
0
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));
	}
}
Exemple #2
0
ParsedEntity::ParsedEntity(StringPtr content)
{
	const char * cContent = content->c_str();
	shared_ptr<cJSON> jsonPtr(cJSON_Parse(cContent), null_deleter());
	json.swap(jsonPtr);
	if(json && json->string)
	{
		key = MakeStringPtr(json->string);
	}
	else
	{
		key = MakeStringPtr("");
	}
	type = determineType();
}
Exemple #3
0
ParsedEntityPtr ParsedEntity::getObjectValue(StringPtr key) 
{
	cJSONPtr ret(cJSON_GetObjectItem(json.get(), key->c_str()), null_deleter());
	return MakeParsedEntity(ret);
}