本文整理汇总了C++中Relation::at方法的典型用法代码示例。如果您正苦于以下问题:C++ Relation::at方法的具体用法?C++ Relation::at怎么用?C++ Relation::at使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Relation
的用法示例。
在下文中一共展示了Relation::at方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: show
void DataManager::show(string &relationName, ostream& os) {
Relation* relation = getRelationByName(relationName);
if (relation != NULL) {
os << relation->getName() << "\n";
vector<Attribute> attrs = relation->attributes;
vector<int> widths(attrs.size());
vector<string> fullNames;
for (int i = 0; i < attrs.size(); i++)
{
Attribute attr = attrs[i];
string fullname = " " + attr.getName() + "[" + attr.getType() + "]";
widths[i] = max(widths[i], (int)fullname.length()); //Either length of title or largest data
fullNames.push_back(fullname);
//os << setw(widths[i]) << fullNames[i];
}
int wrap_index = 0;
int j = 0;
int j_min = 0;
int j_max = 0;
if (relation->tuples.size() == 0)
{
return;
}
while (j_min < relation->tuples[0].size())
{
j_max = j_min;
while (j_max < relation->tupleSize(0))
{
wrap_index += widths[j_max];
if (wrap_index <= 80)
{
os << setw(widths[j_max]) << fullNames[j_max];
j_max++;
}
else
{
wrap_index = 0;
break;
}
}
os << "\n";
for (int i = 0; i < relation->tuples.size(); i++)
{
for (j = j_min; j < j_max; j++)
{
os << setw(widths[j]) << relation->at(i, j);
}
os << "\n";
}
j_min = j_max;
os << "\n\n";
}
}
else {
os << "NULL relation: " << relationName << endl;
}
}