本文整理汇总了C++中GroupDef类的典型用法代码示例。如果您正苦于以下问题:C++ GroupDef类的具体用法?C++ GroupDef怎么用?C++ GroupDef使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GroupDef类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void MemberGroup::insertMember(MemberDef *md)
{
//printf("MemberGroup::insertMember m_parent=%s memberList=%p count=%d"
// " member section list: %p: md=%p:%s\n",
// m_parent ? m_parent->name().data() : "<null>",
// memberList->first() ? memberList->first()->getSectionList(m_parent) : 0,
// memberList->count(),
// md->getSectionList(m_parent),
// md,md->name().data());
MemberDef *firstMd = memberList->first();
if (inSameSection && memberList->count()>0 &&
firstMd->getSectionList(m_parent)!=md->getSectionList(m_parent))
{
inSameSection=FALSE;
}
else if (inDeclSection==0)
{
inDeclSection = md->getSectionList(m_parent);
//printf("inDeclSection=%p type=%d\n",inDeclSection,inDeclSection->listType());
}
memberList->append(md);
// copy the group of the first member in the memberGroup
GroupDef *gd;
if (firstMd && (gd=firstMd->getGroupDef()))
{
md->setGroupDef(gd, firstMd->getGroupPri(),
firstMd->getGroupFileName(), firstMd->getGroupStartLine(),
firstMd->getGroupHasDocs());
gd->insertMember(md);
}
}
示例2: if
QString KO_Config::toString() const
{
QString result = "L16";
if (startLvl == SEMI) result = "S";
else if (startLvl == QUARTER) result = "Q";
else if (startLvl == FINAL) result = "F";
result += ";";
if (secondSurvives) result += "1";
else result += "0";
result += ";";
for (int i=0; i < grpDefs.count(); i++)
{
GroupDef g = grpDefs.at(i);
result += QString::number(g.getNumGroups()) + ";";
result += QString::number(g.getGroupSize()) + ";";
}
return result;
}
示例3: printStartMsg
void tstGroupDef::testNumMatches()
{
printStartMsg("tstGroupDef::testNumMatches");
GroupDef g = GroupDef(4, 1);
CPPUNIT_ASSERT(g.getNumMatches() == 6);
g = GroupDef(4, 2);
CPPUNIT_ASSERT(g.getNumMatches() == 12);
printEndMsg();
}
示例4: getNumGroups
int KO_Config::getNumGroups() const
{
int result = 0;
for (int i=0; i < grpDefs.count(); i++)
{
GroupDef g = grpDefs.at(i);
result += g.getNumGroups();
}
return result;
}
示例5: if
bool GroupDef::findGroup(const GroupDef *def) const
{
if (this==def)
{
return TRUE;
}
else if (groupList)
{
GroupListIterator it(*groupList);
GroupDef *gd;
for (;(gd=it.current());++it)
{
if (gd->findGroup(def))
{
return TRUE;
}
}
}
return FALSE;
}
示例6: addMemberToGroups
/*! Add a member to the group with the highest priority */
void addMemberToGroups(Entry *root,MemberDef *md)
{
//printf("addMemberToGroups: Root %p = %s, md %p=%s groups=%d\n",
// root, root->name.data(), md, md->name().data(), root->groups->count() );
QListIterator<Grouping> gli(*root->groups);
Grouping *g;
// Search entry's group list for group with highest pri.
Grouping::GroupPri_t pri = Grouping::GROUPING_LOWEST;
GroupDef *fgd=0;
for (;(g=gli.current());++gli)
{
GroupDef *gd=0;
if (!g->groupname.isEmpty() &&
(gd=Doxygen::groupSDict->find(g->groupname)) &&
g->pri >= pri)
{
if (fgd && gd!=fgd && g->pri==pri)
{
warn(root->fileName.data(), root->startLine,
"warning: Member %s found in multiple %s groups! "
"The member will be put in group %s, and not in group %s",
md->name().data(), Grouping::getGroupPriName( pri ),
gd->name().data(), fgd->name().data()
);
}
fgd = gd;
pri = g->pri;
}
}
//printf("fgd=%p\n",fgd);
// put member into group defined by this entry?
if (fgd)
{
GroupDef *mgd = md->getGroupDef();
//printf("mgd=%p\n",mgd);
bool insertit = FALSE;
if (mgd==0)
{
insertit = TRUE;
}
else if (mgd!=fgd)
{
bool moveit = FALSE;
// move member from one group to another if
// - the new one has a higher priority
// - the new entry has the same priority, but with docs where the old one had no docs
if (md->getGroupPri()<pri)
{
moveit = TRUE;
}
else
{
if (md->getGroupPri()==pri)
{
if (!root->doc.isEmpty() && !md->getGroupHasDocs())
{
moveit = TRUE;
}
else if (!root->doc.isEmpty() && md->getGroupHasDocs())
{
warn(md->getGroupFileName(),md->getGroupStartLine(),
"warning: Member documentation for %s found several times in %s groups!\n"
"%s:%d: The member will remain in group %s, and won't be put into group %s",
md->name().data(), Grouping::getGroupPriName( pri ),
root->fileName.data(), root->startLine,
mgd->name().data(),
fgd->name().data()
);
}
}
}
if (moveit)
{
//printf("removeMember\n");
mgd->removeMember(md);
insertit = TRUE;
}
}
if (insertit)
{
//printf("insertMember found at %s line %d: %s: related %s\n",
// md->getDefFileName().data(),md->getDefLine(),
// md->name().data(),root->relates.data());
bool success = fgd->insertMember(md);
if (success)
{
//printf("insertMember successful\n");
md->setGroupDef(fgd,pri,root->fileName,root->startLine,
!root->doc.isEmpty());
ClassDef *cd = md->getClassDefOfAnonymousType();
if (cd)
{
cd->setGroupDefForAllMembers(fgd,pri,root->fileName,root->startLine,root->doc.length() != 0);
//.........这里部分代码省略.........
示例7: assert
void SearchIndex::setCurrentDoc(Definition *ctx,const char *anchor,bool isSourceFile)
{
if (ctx==0) return;
assert(!isSourceFile || ctx->definitionType()==Definition::TypeFile);
//printf("SearchIndex::setCurrentDoc(%s,%s,%s)\n",name,baseName,anchor);
QCString url=isSourceFile ? ((FileDef*)ctx)->getSourceFileBase() : ctx->getOutputFileBase();
url+=Config_getString("HTML_FILE_EXTENSION");
if (anchor) url+=QCString("#")+anchor;
QCString name=ctx->qualifiedName();
if (ctx->definitionType()==Definition::TypeMember)
{
MemberDef *md = (MemberDef *)ctx;
name.prepend((md->getLanguage()==SrcLangExt_Fortran ?
theTranslator->trSubprogram(TRUE,TRUE) :
theTranslator->trMember(TRUE,TRUE))+" ");
}
else // compound type
{
SrcLangExt lang = ctx->getLanguage();
QCString sep = getLanguageSpecificSeparator(lang);
if (sep!="::")
{
name = substitute(name,"::",sep);
}
switch (ctx->definitionType())
{
case Definition::TypePage:
{
PageDef *pd = (PageDef *)ctx;
if (!pd->title().isEmpty())
{
name = theTranslator->trPage(TRUE,TRUE)+" "+pd->title();
}
else
{
name = theTranslator->trPage(TRUE,TRUE)+" "+pd->name();
}
}
break;
case Definition::TypeClass:
{
ClassDef *cd = (ClassDef *)ctx;
name.prepend(cd->compoundTypeString()+" ");
}
break;
case Definition::TypeNamespace:
{
if (lang==SrcLangExt_Java || lang==SrcLangExt_CSharp)
{
name = theTranslator->trPackage(name);
}
else if (lang==SrcLangExt_Fortran)
{
name.prepend(theTranslator->trModule(TRUE,TRUE)+" ");
}
else
{
name.prepend(theTranslator->trNamespace(TRUE,TRUE)+" ");
}
}
break;
case Definition::TypeGroup:
{
GroupDef *gd = (GroupDef *)ctx;
if (gd->groupTitle())
{
name = theTranslator->trGroup(TRUE,TRUE)+" "+gd->groupTitle();
}
else
{
name.prepend(theTranslator->trGroup(TRUE,TRUE)+" ");
}
}
break;
default:
break;
}
}
int *pIndex = m_url2IdMap.find(url);
if (pIndex==0)
{
++m_urlIndex;
m_url2IdMap.insert(url,new int(m_urlIndex));
m_urls.insert(m_urlIndex,new URL(name,url));
}
else
{
m_urls.insert(*pIndex,new URL(name,url));
}
}
示例8: it
void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title)
{
// write list of groups
int count=0;
if (groupList->count()>0)
{
QListIterator<GroupDef> it(*groupList);
GroupDef *gd;
for (;(gd=it.current());++it)
{
if (gd->isVisible()) count++;
}
}
if (count>0)
{
ol.startMemberHeader("groups");
ol.parseText(title);
ol.endMemberHeader();
ol.startMemberList();
if (Config_getBool(SORT_GROUP_NAMES))
{
groupList->sort();
}
QListIterator<GroupDef> it(*groupList);
GroupDef *gd;
for (;(gd=it.current());++it)
{
if (gd->isVisible())
{
if (!gd->hasDocumentation()) continue;
ol.startMemberDeclaration();
ol.startMemberItem(gd->getOutputFileBase(),0);
//ol.docify(theTranslator->trGroup(FALSE,TRUE));
//ol.docify(" ");
ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
ol.endMemberItem();
if (!gd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
{
ol.startMemberDescription(gd->getOutputFileBase());
ol.generateDoc(briefFile(),briefLine(),gd,0,gd->briefDescription(),FALSE,FALSE,0,TRUE,FALSE);
ol.endMemberDescription();
}
ol.endMemberDeclaration(0,0);
}
}
ol.endMemberList();
}
}
示例9: convertToXML
void GroupDef::writeTagFile(FTextStream &tagFile)
{
tagFile << " <compound kind=\"group\">" << endl;
tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl;
QListIterator<LayoutDocEntry> eli(
LayoutDocManager::instance().docEntries(LayoutDocManager::Group));
LayoutDocEntry *lde;
for (eli.toFirst();(lde=eli.current());++eli)
{
switch (lde->kind())
{
case LayoutDocEntry::GroupClasses:
{
if (classSDict)
{
SDict<ClassDef>::Iterator ci(*classSDict);
ClassDef *cd;
for (ci.toFirst();(cd=ci.current());++ci)
{
if (cd->isLinkableInProject())
{
tagFile << " <class kind=\"" << cd->compoundTypeString()
<< "\">" << convertToXML(cd->name()) << "</class>" << endl;
}
}
}
}
break;
case LayoutDocEntry::GroupNamespaces:
{
if (namespaceSDict)
{
SDict<NamespaceDef>::Iterator ni(*namespaceSDict);
NamespaceDef *nd;
for (ni.toFirst();(nd=ni.current());++ni)
{
if (nd->isLinkableInProject())
{
tagFile << " <namespace>" << convertToXML(nd->name())
<< "</namespace>" << endl;
}
}
}
}
break;
case LayoutDocEntry::GroupFiles:
{
if (fileList)
{
QListIterator<FileDef> it(*fileList);
FileDef *fd;
for (;(fd=it.current());++it)
{
if (fd->isLinkableInProject())
{
tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
}
}
}
}
break;
case LayoutDocEntry::GroupPageDocs:
{
if (pageDict)
{
PageSDict::Iterator pdi(*pageDict);
PageDef *pd=0;
for (pdi.toFirst();(pd=pdi.current());++pdi)
{
QCString pageName = pd->getOutputFileBase();
if (pd->isLinkableInProject())
{
tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
}
}
}
}
break;
case LayoutDocEntry::GroupDirs:
{
if (dirList)
{
QListIterator<DirDef> it(*dirList);
DirDef *dd;
for (;(dd=it.current());++it)
{
if (dd->isLinkableInProject())
{
tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl;
}
}
}
}
break;
case LayoutDocEntry::GroupNestedGroups:
{
if (groupList)
{
//.........这里部分代码省略.........
示例10: generateSqlite3
void generateSqlite3()
{
// + classes
// + namespaces
// + files
// + groups
// + related pages
// + examples
// + main page
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QDir sqlite3Dir(outputDirectory);
sqlite3 *db;
sqlite3_initialize();
int rc = sqlite3_open_v2(outputDirectory+"/doxygen_sqlite3.db", &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0);
if (rc != SQLITE_OK)
{
sqlite3_close(db);
msg("database open failed: %s\n", "doxygen_sqlite3.db");
return;
}
beginTransaction(db);
pragmaTuning(db);
if (-1==initializeSchema(db))
return;
if ( -1 == prepareStatements(db) )
{
err("sqlite generator: prepareStatements failed!");
return;
}
// + classes
ClassSDict::Iterator cli(*Doxygen::classSDict);
ClassDef *cd;
for (cli.toFirst();(cd=cli.current());++cli)
{
msg("Generating Sqlite3 output for class %s\n",cd->name().data());
generateSqlite3ForClass(db,cd);
}
// + namespaces
NamespaceSDict::Iterator nli(*Doxygen::namespaceSDict);
NamespaceDef *nd;
for (nli.toFirst();(nd=nli.current());++nli)
{
msg("Generating Sqlite3 output for namespace %s\n",nd->name().data());
generateSqlite3ForNamespace(db,nd);
}
// + files
FileNameListIterator fnli(*Doxygen::inputNameList);
FileName *fn;
for (;(fn=fnli.current());++fnli)
{
FileNameIterator fni(*fn);
FileDef *fd;
for (;(fd=fni.current());++fni)
{
msg("Generating Sqlite3 output for file %s\n",fd->name().data());
generateSqlite3ForFile(db,fd);
}
}
// + groups
GroupSDict::Iterator gli(*Doxygen::groupSDict);
GroupDef *gd;
for (;(gd=gli.current());++gli)
{
msg("Generating Sqlite3 output for group %s\n",gd->name().data());
generateSqlite3ForGroup(db,gd);
}
// + page
{
PageSDict::Iterator pdi(*Doxygen::pageSDict);
PageDef *pd=0;
for (pdi.toFirst();(pd=pdi.current());++pdi)
{
msg("Generating Sqlite3 output for page %s\n",pd->name().data());
generateSqlite3ForPage(db,pd,FALSE);
}
}
// + dirs
{
DirDef *dir;
DirSDict::Iterator sdi(*Doxygen::directories);
for (sdi.toFirst();(dir=sdi.current());++sdi)
{
msg("Generating Sqlite3 output for dir %s\n",dir->name().data());
generateSqlite3ForDir(db,dir);
}
}
// + examples
{
PageSDict::Iterator pdi(*Doxygen::exampleSDict);
PageDef *pd=0;
//.........这里部分代码省略.........