50                 cout << 
"* Bibliography *" << endl << endl;
 
   54                 cout << 
"=== Bibliography ===" << endl << endl;
 
   65         if (!paramsDoc.empty())
 
   66                 for (BOOST_AUTO(it, paramsDoc.begin()); it != paramsDoc.end(); ++it)
 
   68                         cout << 
"`" << it->name << 
"` (default: `" << it->defaultValue << 
"`";
 
   69                         if (!it->minValue.empty())
 
   70                                 cout << 
", min: `" << it->minValue << 
"`";
 
   71                         if (!it->maxValue.empty())
 
   72                                 cout << 
", max: `" << it->maxValue << 
"`";
 
   75                         cout << 
" . " << it->doc << endl;
 
   79                 cout << 
" . no parameters" << endl;
 
   86                 cout << 
"=== " << name << 
" ===\n" << endl;
 
   88                 cout << 
"* " << name << 
" *\n" << endl;
 
   89         for (BOOST_AUTO(it, registrar.begin()); it != registrar.end(); ++it)
 
   92                         cout << 
"==== " << it->first << 
" ====\n" << endl;
 
   94                         cout << it->first << endl;
 
   98                         dumpWiki(it->second->availableParameters());
 
  100                         cout << it->second->availableParameters();
 
  107 #define DUMP_REGISTRAR_CONTENT(pm, name, bib) \ 
  108         dumpRegistrar(pm, pm.REG(name), # name, bib); 
  133         nameList.push_back(name);
 
  134         for (BOOST_AUTO(it, registrar.begin()); it != registrar.end(); ++it)
 
  137                 nameList.push_back(it->first);
 
  141 #define DUMP_REGISTRAR_SUMMARY(pm, name, nameList) \ 
  142         dumpRegistrarSummary(pm, pm.REG(name), # name, nameList); 
  146         typedef vector<ModuleNameList> ModulesNames;
 
  148         ModulesNames modulesNames;
 
  149         modulesNames.resize(7);
 
  160         ModulesNames strippedModulesNames;
 
  161         strippedModulesNames.resize(modulesNames.size());
 
  162         unsigned maxCount(0);
 
  163         for (
size_t i(0); i < modulesNames.size(); ++i)
 
  166                 for (BOOST_AUTO(jt, modulesNames[i].begin()); jt != modulesNames[i].end(); ++jt)
 
  168                         const string& name(*jt);
 
  169                         if (jt == modulesNames[i].begin())
 
  171                                 strippedModulesNames[i].push_back(name);
 
  176                                 string strippedName(name.substr(0, name.length() - (modulesNames[i][0].length())));
 
  177                                 if ((strippedName != 
"Null") && (strippedName != 
"Identity"))
 
  179                                         strippedModulesNames[i].push_back(strippedName);
 
  184                 maxCount = max(count, maxCount);
 
  188         cout << 
"\\begin{tabularx}{\\textwidth}{";
 
  189         for (
size_t i(0); i<strippedModulesNames.size(); ++i)
 
  191         cout << 
"}\n\\toprule\n";
 
  192         for (
unsigned row(0); row < maxCount; ++row)
 
  194                 for (BOOST_AUTO(it, strippedModulesNames.begin()); it != strippedModulesNames.end(); ++it)
 
  196                         if (row < it->size())
 
  198                                 const string& name((*it)[row]);
 
  201                         if (it+1 != strippedModulesNames.end())
 
  205                         cout << 
"\\\\\n\\midrule\n";
 
  210         cout << 
"\\bottomrule\n\\end{tabularx}\n";
 
  213 int main(
int argc, 
char *argv[])
 
  219                 const string cmd(argv[1]);
 
  220                 if (
cmd == 
"--latexsummary")
 
  225                 else if (
cmd == 
"--roswiki")
 
  230                 else if (
cmd == 
"--bibtex")
 
  237                         cerr << 
"Invalid command " << 
cmd << endl;