本文整理汇总了C++中Proc::name方法的典型用法代码示例。如果您正苦于以下问题:C++ Proc::name方法的具体用法?C++ Proc::name怎么用?C++ Proc::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Proc
的用法示例。
在下文中一共展示了Proc::name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
int
ACodeNode::compare(const ACodeNode* x, const ACodeNode* y)
{
if (x->begLine() == y->begLine()) {
bool endLinesEqual = (x->endLine() == y->endLine());
if (endLinesEqual) {
// We have two ACodeNode's with identical line intervals...
// Use lexicographic comparison for procedures
if (x->type() == ANode::TyProc && y->type() == ANode::TyProc) {
Proc *px = (Proc*)x, *py = (Proc*)y;
int cmp1 = px->name().compare(py->name());
if (cmp1 != 0) { return cmp1; }
int cmp2 = px->linkName().compare(py->linkName());
if (cmp2 != 0) { return cmp2; }
}
// Use VMAInterval sets otherwise.
bool x_lt_y = (x->vmaSet() < y->vmaSet());
bool y_lt_x = (y->vmaSet() < x->vmaSet());
bool vmaSetsEqual = (!x_lt_y && !y_lt_x);
if (vmaSetsEqual) {
// Try ranking a leaf node before a non-leaf node
if ( !(x->isLeaf() && y->isLeaf())) {
if (x->isLeaf()) { return -1; } // x < y
else if (y->isLeaf()) { return 1; } // x > y
}
// Give up!
return 0;
}
else if (x_lt_y) { return -1; }
else if (y_lt_x) { return 1; }
else {
DIAG_Die(DIAG_Unimplemented);
}
}
else {
return SrcFile::compare(x->endLine(), y->endLine());
}
}
else {
return SrcFile::compare(x->begLine(), y->begLine());
}
}