Lines Matching refs:std
30 static std::map< std::string, std::string > s_header_map;
33 static std::map< std::string, std::set<std::string> > s_module_headers;
35 static std::set< std::string > s_modules;
41 std::string module = path.generic_string().substr( 5 ); // strip "libs/" in scan_module_headers()
43 std::replace( module.begin(), module.end(), '/', '~' ); in scan_module_headers()
59 std::string p2 = it->path().generic_string(); in scan_module_headers()
68 std::cout << x.what() << std::endl; in scan_module_headers()
104 …cies( std::string const & header, std::istream & is, std::map< std::string, std::set< std::string … in scan_header_dependencies()
106 std::string line; in scan_header_dependencies()
108 while( std::getline( is, line ) ) in scan_header_dependencies()
146 std::string::size_type k = line.find_first_of( ch ); in scan_header_dependencies()
148 if( k != std::string::npos ) in scan_header_dependencies()
153 std::map< std::string, std::string >::const_iterator i = s_header_map.find( line ); in scan_header_dependencies()
170 virtual void heading( std::string const & module ) = 0;
172 virtual void module_start( std::string const & module ) = 0;
173 virtual void module_end( std::string const & module ) = 0;
175 virtual void header_start( std::string const & header ) = 0;
176 virtual void header_end( std::string const & header ) = 0;
178 virtual void from_header( std::string const & header ) = 0;
181 static fs::path module_include_path( std::string module ) in module_include_path()
183 std::replace( module.begin(), module.end(), '~', '/' ); in module_include_path()
187 static fs::path module_source_path( std::string module ) in module_source_path()
189 std::replace( module.begin(), module.end(), '~', '/' ); in module_source_path()
193 static fs::path module_build_path( std::string module ) in module_build_path()
195 std::replace( module.begin(), module.end(), '~', '/' ); in module_build_path()
199 static fs::path module_test_path( std::string module ) in module_test_path()
201 std::replace( module.begin(), module.end(), '~', '/' ); in module_test_path()
205 …st & dir, bool remove_prefix, std::map< std::string, std::set< std::string > > & deps, std::map< s… in scan_module_path()
220 std::string header = it->path().generic_string(); in scan_module_path()
234 static void scan_module_dependencies( std::string const & module, module_primary_actions & actions,… in scan_module_dependencies()
237 std::map< std::string, std::set< std::string > > deps; in scan_module_dependencies()
240 std::map< std::string, std::set< std::string > > from; in scan_module_dependencies()
256 …for( std::map< std::string, std::set< std::string > >::iterator i = deps.begin(); i != deps.end();… in scan_module_dependencies()
262 for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in scan_module_dependencies()
266 std::set< std::string > const & f = from[ *j ]; in scan_module_dependencies()
268 for( std::set< std::string >::const_iterator k = f.begin(); k != f.end(); ++k ) in scan_module_dependencies()
281 static std::map< std::string, std::set< std::string > > s_module_deps;
284 static std::map< std::string, std::set< std::string > > s_header_deps;
287 static std::map< std::string, std::set< std::string > > s_reverse_deps;
290 static std::map< std::string, std::set< std::string > > s_header_includes;
294 std::string module_;
295 std::string module2_;
296 std::string header_;
298 void heading( std::string const & module ) in heading()
303 void module_start( std::string const & module ) in module_start()
314 void module_end( std::string const & /*module*/ ) in module_end()
318 void header_start( std::string const & header ) in header_start()
323 void header_end( std::string const & /*header*/ ) in header_end()
327 void from_header( std::string const & header ) in from_header()
340 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in build_module_dependency_map()
347 static void output_module_primary_report( std::string const & module, module_primary_actions & acti… in output_module_primary_report()
355 std::cout << x.what() << std::endl; in output_module_primary_report()
361 virtual void heading( std::string const & module ) = 0;
363 virtual void module_start( std::string const & module ) = 0;
364 virtual void module_end( std::string const & module ) = 0;
366 virtual void module_adds( std::string const & module ) = 0;
369 static void exclude( std::set< std::string > & x, std::set< std::string > const & y ) in exclude()
371 for( std::set< std::string >::const_iterator i = y.begin(); i != y.end(); ++i ) in exclude()
377 static void output_module_secondary_report( std::string const & module, std::set< std::string> deps… in output_module_secondary_report()
387 std::set< std::string > deps2( deps ); in output_module_secondary_report()
389 for( std::set< std::string >::iterator i = deps.begin(); i != deps.end(); ++i ) in output_module_secondary_report()
391 std::set< std::string > deps3 = s_module_deps[ *i ]; in output_module_secondary_report()
402 for( std::set< std::string >::iterator j = deps3.begin(); j != deps3.end(); ++j ) in output_module_secondary_report()
423 static void output_module_secondary_report( std::string const & module, module_secondary_actions & … in output_module_secondary_report()
430 virtual void heading( std::string const & header, std::string const & module ) = 0;
432 virtual void module_start( std::string const & module ) = 0;
433 virtual void module_end( std::string const & module ) = 0;
435 virtual void header( std::string const & header ) = 0;
438 static std::string module_for_header( std::string header ) in module_for_header()
441 std::map<std::string, std::string>::const_iterator i = s_header_map.find( header ); in module_for_header()
459 return std::string(); in module_for_header()
462 for( std::set<std::string>::const_iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in module_for_header()
464 std::string module = *i; in module_for_header()
465 std::replace( module.begin(), module.end(), '~', '/' ); in module_for_header()
473 return std::string(); in module_for_header()
476 static void output_header_inclusion_report( std::string const & header, header_inclusion_actions & … in output_header_inclusion_report()
478 std::string module = s_header_map[ header ]; in output_header_inclusion_report()
482 std::set< std::string > from = s_header_deps[ header ]; in output_header_inclusion_report()
487 std::map< std::string, std::set< std::string > > from2; in output_header_inclusion_report()
489 for( std::set< std::string >::iterator i = from.begin(); i != from.end(); ++i ) in output_header_inclusion_report()
494 …for( std::map< std::string, std::set< std::string > >::iterator i = from2.begin(); i != from2.end(… in output_header_inclusion_report()
498 for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_header_inclusion_report()
511 void heading( std::string const & module ) in heading()
513 std::cout << "Primary dependencies for " << module << ":\n\n"; in heading()
516 void module_start( std::string const & module ) in module_start()
518 std::cout << module << ":\n"; in module_start()
521 void module_end( std::string const & /*module*/ ) in module_end()
523 std::cout << "\n"; in module_end()
526 void header_start( std::string const & header ) in header_start()
528 std::cout << " <" << header << ">\n"; in header_start()
531 void header_end( std::string const & /*header*/ ) in header_end()
535 void from_header( std::string const & header ) in from_header()
537 std::cout << " from <" << header << ">\n"; in from_header()
543 void heading( std::string const & module ) in heading()
545 …std::cout << "\n\n<h1 id=\"primary-dependencies\">Primary dependencies for <em>" << module << "</e… in heading()
548 void module_start( std::string const & module ) in module_start()
550 …std::cout << " <h2 id=\"" << module << "\"><a href=\"" << module << ".html\"><em>" << module << "… in module_start()
553 void module_end( std::string const & /*module*/ ) in module_end()
557 void header_start( std::string const & header ) in header_start()
559 std::cout << " <h3><code><" << header << "></code></h3><ul>\n"; in header_start()
562 void header_end( std::string const & /*header*/ ) in header_end()
564 std::cout << " </ul>\n"; in header_end()
567 void from_header( std::string const & header ) in from_header()
569 std::cout << " <li>from <code><" << header << "></code></li>\n"; in from_header()
573 static void output_module_primary_report( std::string const & module, bool html, bool track_sources… in output_module_primary_report()
591 void heading( std::string const & module ) in heading()
593 std::cout << "Secondary dependencies for " << module << ":\n\n"; in heading()
596 void module_start( std::string const & module ) in module_start()
598 std::cout << module << ":\n"; in module_start()
601 void module_end( std::string const & /*module*/ ) in module_end()
603 std::cout << "\n"; in module_end()
606 void module_adds( std::string const & module ) in module_adds()
608 std::cout << " adds " << module << "\n"; in module_adds()
614 std::string m2_;
616 void heading( std::string const & module ) in heading()
618 …std::cout << "\n\n<h1 id=\"secondary-dependencies\">Secondary dependencies for <em>" << module << … in heading()
621 void module_start( std::string const & module ) in module_start()
623 … std::cout << " <h2><a href=\"" << module << ".html\"><em>" << module << "</em></a></h2><ul>\n"; in module_start()
627 void module_end( std::string const & /*module*/ ) in module_end()
629 std::cout << " </ul>\n"; in module_end()
632 void module_adds( std::string const & module ) in module_adds()
634 …std::cout << " <li><a href=\"" << m2_ << ".html#" << module << "\">adds <em>" << module << "</e… in module_adds()
638 static void output_module_secondary_report( std::string const & module, bool html ) in output_module_secondary_report()
656 void heading( std::string const & header, std::string const & module ) in heading()
658 std::cout << "Inclusion report for <" << header << "> (in module " << module << "):\n\n"; in heading()
661 void module_start( std::string const & module ) in module_start()
663 std::cout << " from " << module << ":\n"; in module_start()
666 void module_end( std::string const & /*module*/ ) in module_end()
668 std::cout << "\n"; in module_end()
671 void header( std::string const & header ) in header()
673 std::cout << " <" << header << ">\n"; in header()
679 void heading( std::string const & header, std::string const & module ) in heading()
681 …std::cout << "<h1>Inclusion report for <code><" << header << "></code> (in module <em>" << m… in heading()
684 void module_start( std::string const & module ) in module_start()
686 …std::cout << " <h2>From <a href=\"" << module << ".html\"><em>" << module << "</em></a></h2><ul>\… in module_start()
689 void module_end( std::string const & /*module*/ ) in module_end()
691 std::cout << " </ul>\n"; in module_end()
694 void header( std::string const & header ) in header()
696 std::cout << " <li><code><" << header << "></code></li>\n"; in header()
700 static void output_header_report( std::string const & header, bool html ) in output_header_report()
718 virtual void heading( std::string const & module ) = 0;
720 virtual void module_start( std::string const & module ) = 0;
721 virtual void module_end( std::string const & module ) = 0;
723 virtual void header_start( std::string const & header ) = 0;
724 virtual void header_end( std::string const & header ) = 0;
726 virtual void from_header( std::string const & header ) = 0;
729 static void output_module_reverse_report( std::string const & module, module_reverse_actions & acti… in output_module_reverse_report()
733 std::set< std::string > const from = s_reverse_deps[ module ]; in output_module_reverse_report()
735 for( std::set< std::string >::const_iterator i = from.begin(); i != from.end(); ++i ) in output_module_reverse_report()
739 …for( std::map< std::string, std::set< std::string > >::iterator j = s_header_deps.begin(); j != s_… in output_module_reverse_report()
745 … for( std::set< std::string >::iterator k = j->second.begin(); k != j->second.end(); ++k ) in output_module_reverse_report()
773 void heading( std::string const & module ) in heading()
775 std::cout << "Reverse dependencies for " << module << ":\n\n"; in heading()
778 void module_start( std::string const & module ) in module_start()
780 std::cout << module << ":\n"; in module_start()
783 void module_end( std::string const & /*module*/ ) in module_end()
785 std::cout << "\n"; in module_end()
788 void header_start( std::string const & header ) in header_start()
790 std::cout << " <" << header << ">\n"; in header_start()
793 void header_end( std::string const & /*header*/ ) in header_end()
797 void from_header( std::string const & header ) in from_header()
799 std::cout << " from <" << header << ">\n"; in from_header()
805 void heading( std::string const & module ) in heading()
807 …std::cout << "\n\n<h1 id=\"reverse-dependencies\">Reverse dependencies for <em>" << module << "</e… in heading()
810 void module_start( std::string const & module ) in module_start()
812 …std::cout << " <h2 id=\"reverse-" << module << "\"><a href=\"" << module << ".html\"><em>" << mod… in module_start()
815 void module_end( std::string const & /*module*/ ) in module_end()
819 void header_start( std::string const & header ) in header_start()
821 std::cout << " <h3><code><" << header << "></code></h3><ul>\n"; in header_start()
824 void header_end( std::string const & /*header*/ ) in header_end()
826 std::cout << " </ul>\n"; in header_end()
829 void from_header( std::string const & header ) in from_header()
831 std::cout << " <li>from <code><" << header << "></code></li>\n"; in from_header()
835 static void output_module_reverse_report( std::string const & module, bool html ) in output_module_reverse_report()
861 virtual void module_start( std::string const & module ) = 0;
862 virtual void module_end( std::string const & module ) = 0;
864 virtual void module2( std::string const & module, int level ) = 0;
871 std::map< std::string, int > level_map; in output_module_level_report()
873 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in output_module_level_report()
888 std::map< std::string, std::set< std::string > > deps2 = s_module_deps; in output_module_level_report()
897 …for( std::map< std::string, std::set< std::string > >::iterator i = deps2.begin(); i != deps2.end(… in output_module_level_report()
899 std::set< std::string > tmp = i->second; in output_module_level_report()
901 … for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_module_level_report()
903 std::set< std::string > tmp2 = deps2[ *j ]; in output_module_level_report()
921 …for( std::map< std::string, std::set< std::string > >::iterator i = s_module_deps.begin(); i != s_… in output_module_level_report()
929 … for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_module_level_report()
931 level = std::max( level, level_map[ *j ] + 1 ); in output_module_level_report()
944 std::map< std::string, int > min_level_map; in output_module_level_report()
948 for( std::map< std::string, int >::iterator i = level_map.begin(); i != level_map.end(); ++i ) in output_module_level_report()
960 …for( std::map< std::string, std::set< std::string > >::iterator i = s_module_deps.begin(); i != s_… in output_module_level_report()
966 … for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_module_level_report()
972 level = std::max( level, jl + 1 ); in output_module_level_report()
987 level = std::max( level, ml ); in output_module_level_report()
998 std::map< int, std::set< std::string > > reverse_level_map; in output_module_level_report()
1000 for( std::map< std::string, int >::iterator i = level_map.begin(); i != level_map.end(); ++i ) in output_module_level_report()
1021 …for( std::map< int, std::set< std::string > >::iterator i = reverse_level_map.begin(); i != revers… in output_module_level_report()
1025 for( std::set< std::string >::iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_module_level_report()
1029 std::set< std::string > mdeps = s_module_deps[ *j ]; in output_module_level_report()
1031 for( std::set< std::string >::iterator k = mdeps.begin(); k != mdeps.end(); ++k ) in output_module_level_report()
1063 std::cout << "Module Levels:\n\n"; in begin()
1074 std::cout << "Level (undetermined):\n"; in level_start()
1078 std::cout << "Level " << level << ":\n"; in level_start()
1086 std::cout << "\n"; in level_end()
1089 void module_start( std::string const & module ) in module_start()
1091 std::cout << " " << module; in module_start()
1095 std::cout << " ->"; in module_start()
1099 void module_end( std::string const & /*module*/ ) in module_end()
1101 std::cout << "\n"; in module_end()
1104 void module2( std::string const & module, int level ) in module2()
1106 std::cout << " " << module << "("; in module2()
1110 std::cout << "-"; in module2()
1114 std::cout << level; in module2()
1117 std::cout << ")"; in module2()
1127 std::cout << "<div id='module-levels'><h1>Module Levels</h1>\n"; in begin()
1132 std::cout << "</div>\n"; in end()
1139 std::cout << " <h2>Level <em>undetermined</em></h2>\n"; in level_start()
1143 std::cout << " <h2 id='level:" << level << "'>Level " << level << "</h2>\n"; in level_start()
1153 void module_start( std::string const & module ) in module_start()
1155 …std::cout << " <h3 id='" << module << "'><a href=\"" << module << ".html\">" << module << "</a>… in module_start()
1158 void module_end( std::string const & /*module*/ ) in module_end()
1160 std::cout << "</p>\n"; in module_end()
1163 void module2( std::string const & module, int level ) in module2()
1165 std::cout << " "; in module2()
1171 std::cout << "<strong>"; in module2()
1174 std::cout << module; in module2()
1178 std::cout << "<sup>" << level << "</sup>"; in module2()
1183 std::cout << "</strong>"; in module2()
1209 virtual void module_start( std::string const & module ) = 0;
1210 virtual void module_end( std::string const & module ) = 0;
1212 virtual void module2( std::string const & module ) = 0;
1219 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in output_module_overview_report()
1223 std::set< std::string > const mdeps = s_module_deps[ *i ]; in output_module_overview_report()
1225 for( std::set< std::string >::const_iterator j = mdeps.begin(); j != mdeps.end(); ++j ) in output_module_overview_report()
1242 std::cout << "Module Overview:\n\n"; in begin()
1249 void module_start( std::string const & module ) in module_start()
1251 std::cout << module; in module_start()
1255 void module_end( std::string const & /*module*/ ) in module_end()
1257 std::cout << "\n"; in module_end()
1260 void module2( std::string const & module ) in module2()
1264 std::cout << " ->"; in module2()
1268 std::cout << " " << module; in module2()
1276 std::cout << "<div id='module-overview'><h1>Module Overview</h1>\n"; in begin()
1281 std::cout << "</div>\n"; in end()
1284 void module_start( std::string const & module ) in module_start()
1286 …std::cout << " <h2 id='" << module << "'><a href=\"" << module << ".html\"><em>" << module << "</… in module_start()
1289 void module_end( std::string const & /*module*/ ) in module_end()
1291 std::cout << "</p>\n"; in module_end()
1294 void module2( std::string const & module ) in module2()
1296 std::cout << " " << module; in module2()
1326 void module_start( std::string const & module ) in module_start()
1328 std::cout << module << " ->"; in module_start()
1331 void module_end( std::string const & /*module*/ ) in module_end()
1333 std::cout << "\n"; in module_end()
1336 void module2( std::string const & module ) in module2()
1340 std::cout << " " << module; in module2()
1353 static void output_html_header( std::string const & title, std::string const & stylesheet, std::str… in output_html_header()
1355 std::cout << "<html>\n"; in output_html_header()
1356 std::cout << "<head>\n"; in output_html_header()
1357 std::cout << "<title>" << title << "</title>\n"; in output_html_header()
1361 … std::cout << "<link rel=\"stylesheet\" type=\"text/css\" href=\"" << stylesheet << "\" />\n"; in output_html_header()
1364 std::cout << "</head>\n"; in output_html_header()
1365 std::cout << "<body>\n"; in output_html_header()
1369 std::cout << prefix << std::endl; in output_html_header()
1373 static void output_html_footer( std::string const & footer ) in output_html_footer()
1375 std::cout << "<hr />\n"; in output_html_footer()
1376 std::cout << "<p class=\"footer\">" << footer << "</p>\n"; in output_html_footer()
1377 std::cout << "</body>\n"; in output_html_footer()
1378 std::cout << "</html>\n"; in output_html_footer()
1391 std::cout << x.what() << std::endl; in enable_secondary()
1400 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in list_modules()
1402 std::cout << *i << "\n"; in list_modules()
1408 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in list_buildable()
1412 std::cout << *i << "\n"; in list_buildable()
1427 virtual void module_start( std::string const & module ) = 0;
1428 virtual void module_end( std::string const & module ) = 0;
1431 virtual void module_primary( std::string const & module, int weight ) = 0;
1435 virtual void module_secondary( std::string const & module, int weight ) = 0;
1445 std::map< std::string, std::set< std::string > > * pm_; in output_module_weight_report()
1447 build_secondary_deps( std::map< std::string, std::set< std::string > > * pm ): pm_( pm ) in output_module_weight_report()
1451 std::string module_; in output_module_weight_report()
1453 void heading( std::string const & module ) in output_module_weight_report()
1458 void module_start( std::string const & /*module*/ ) in output_module_weight_report()
1462 void module_end( std::string const & /*module*/ ) in output_module_weight_report()
1466 void module_adds( std::string const & module ) in output_module_weight_report()
1472 std::map< std::string, std::set< std::string > > secondary_deps; in output_module_weight_report()
1476 for( std::set< std::string >::const_iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in output_module_weight_report()
1483 std::map< int, std::set< std::string > > modules_by_weight; in output_module_weight_report()
1485 for( std::set< std::string >::const_iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in output_module_weight_report()
1495 …for( std::map< int, std::set< std::string > >::const_iterator i = modules_by_weight.begin(); i != … in output_module_weight_report()
1499 … for( std::set< std::string >::const_iterator j = i->second.begin(); j != i->second.end(); ++j ) in output_module_weight_report()
1507 …for( std::set< std::string >::const_iterator k = s_module_deps[ *j ].begin(); k != s_module_deps[ … in output_module_weight_report()
1520 …for( std::set< std::string >::const_iterator k = secondary_deps[ *j ].begin(); k != secondary_deps… in output_module_weight_report()
1542 std::cout << "Module Weights:\n\n"; in begin()
1551 std::cout << "Weight " << weight << ":\n"; in weight_start()
1556 std::cout << "\n"; in weight_end()
1559 void module_start( std::string const & module ) in module_start()
1561 std::cout << " " << module; in module_start()
1564 void module_end( std::string const & /*module*/ ) in module_end()
1566 std::cout << "\n"; in module_end()
1571 std::cout << " ->"; in module_primary_start()
1574 void module_primary( std::string const & module, int weight ) in module_primary()
1576 std::cout << " " << module << "(" << weight << ")"; in module_primary()
1585 std::cout << " ->"; in module_secondary_start()
1588 void module_secondary( std::string const & module, int /*weight*/ ) in module_secondary()
1590 std::cout << " " << module; in module_secondary()
1604 std::cout << "<div id='module-weights'>\n<h1>Module Weights</h1>\n"; in begin()
1609 std::cout << "</div>\n"; in end()
1614 std::cout << " <h2 id='weight:" << weight << "'>Weight " << weight << "</h2>\n"; in weight_start()
1622 void module_start( std::string const & module ) in module_start()
1624 …std::cout << " <h3 id='" << module << "'><a href=\"" << module << ".html\">" << module << "</a>… in module_start()
1627 void module_end( std::string const & /*module*/ ) in module_end()
1629 std::cout << "\n"; in module_end()
1634 std::cout << "<p class='primary-list'>"; in module_primary_start()
1637 void module_primary( std::string const & module, int weight ) in module_primary()
1639 std::cout << " "; in module_primary()
1645 std::cout << "<strong>"; in module_primary()
1648 std::cout << module << "<sup>" << weight << "</sup>"; in module_primary()
1652 std::cout << "</strong>"; in module_primary()
1658 std::cout << "</p>"; in module_primary_end()
1663 std::cout << "<p class='secondary-list'>"; in module_secondary_start()
1666 void module_secondary( std::string const & module, int /*weight*/ ) in module_secondary()
1668 std::cout << " " << module; in module_secondary()
1673 std::cout << "</p>"; in module_secondary_end()
1695 virtual void heading( std::string const & module ) = 0;
1697 virtual void module_start( std::string const & module ) = 0;
1698 virtual void module_end( std::string const & module ) = 0;
1700 virtual void from_path( std::vector<std::string> const & path ) = 0;
1703 static void add_module_headers( fs::path const & dir, std::set<std::string> & headers ) in add_module_headers()
1721 static void output_module_subset_report_( std::string const & module, std::set<std::string> const &… in output_module_subset_report_()
1726 std::map< std::string, std::set<std::string> > inc2; in output_module_subset_report_()
1729 std::map< std::pair<std::string, std::string>, std::vector<std::string> > paths; in output_module_subset_report_()
1731 for( std::set<std::string>::const_iterator i = headers.begin(); i != headers.end(); ++i ) in output_module_subset_report_()
1733 std::set<std::string> & s = inc2[ *i ]; in output_module_subset_report_()
1737 for( std::set<std::string>::const_iterator j = s.begin(); j != s.end(); ++j ) in output_module_subset_report_()
1739 std::vector<std::string> & v = paths[ std::make_pair( *i, *j ) ]; in output_module_subset_report_()
1751 …for( std::map< std::string, std::set<std::string> >::iterator i = inc2.begin(); i != inc2.end(); +… in output_module_subset_report_()
1753 std::set<std::string> & s2 = i->second; in output_module_subset_report_()
1755 for( std::set<std::string>::const_iterator j = s2.begin(); j != s2.end(); ++j ) in output_module_subset_report_()
1757 std::set<std::string> const & s = s_header_includes[ *j ]; in output_module_subset_report_()
1759 for( std::set<std::string>::const_iterator k = s.begin(); k != s.end(); ++k ) in output_module_subset_report_()
1765 … std::vector<std::string> const & v1 = paths[ std::make_pair( i->first, *j ) ]; in output_module_subset_report_()
1766 std::vector<std::string> & v2 = paths[ std::make_pair( i->first, *k ) ]; in output_module_subset_report_()
1781 std::map< std::string, std::map< std::string, std::vector<std::string> > > subset; in output_module_subset_report_()
1783 for( std::set<std::string>::const_iterator i = headers.begin(); i != headers.end(); ++i ) in output_module_subset_report_()
1785 std::set<std::string> const & s = inc2[ *i ]; in output_module_subset_report_()
1787 for( std::set<std::string>::const_iterator j = s.begin(); j != s.end(); ++j ) in output_module_subset_report_()
1789 std::string const & m = s_header_map[ *j ]; in output_module_subset_report_()
1793 std::vector<std::string> const & path = paths[ std::make_pair( *i, *j ) ]; in output_module_subset_report_()
1804 …for( std::map< std::string, std::map< std::string, std::vector<std::string> > >::const_iterator i … in output_module_subset_report_()
1812 …for( std::map< std::string, std::vector<std::string> >::const_iterator j = i->second.begin(); j !=… in output_module_subset_report_()
1821 static void output_module_subset_report( std::string const & module, bool track_sources, bool track… in output_module_subset_report()
1823 std::set<std::string> headers = s_module_headers[ module ]; in output_module_subset_report()
1840 void heading( std::string const & module ) in heading()
1842 std::cout << "Subset dependencies for " << module << ":\n\n"; in heading()
1845 void module_start( std::string const & module ) in module_start()
1847 std::cout << module << ":\n"; in module_start()
1850 void module_end( std::string const & /*module*/ ) in module_end()
1852 std::cout << "\n"; in module_end()
1855 void from_path( std::vector<std::string> const & path ) in from_path()
1857 for( std::vector<std::string>::const_iterator i = path.begin(); i != path.end(); ++i ) in from_path()
1861 std::cout << " "; in from_path()
1865 std::cout << " -> "; in from_path()
1868 std::cout << *i; in from_path()
1871 std::cout << "\n"; in from_path()
1877 void heading( std::string const & module ) in heading()
1879 …std::cout << "\n\n<h1 id=\"subset-dependencies\">Subset dependencies for <em>" << module << "</em>… in heading()
1882 void module_start( std::string const & module ) in module_start()
1884 …std::cout << " <h2 id=\"subset-" << module << "\"><a href=\"" << module << ".html\"><em>" << modu… in module_start()
1887 void module_end( std::string const & /*module*/ ) in module_end()
1889 std::cout << "</ul>\n"; in module_end()
1892 void from_path( std::vector<std::string> const & path ) in from_path()
1894 std::cout << " <li>"; in from_path()
1896 for( std::vector<std::string>::const_iterator i = path.begin(); i != path.end(); ++i ) in from_path()
1900 std::cout << " ⇢ "; in from_path()
1903 std::cout << "<code>" << *i << "</code>"; in from_path()
1906 std::cout << "</li>\n"; in from_path()
1910 static void output_module_subset_report( std::string const & module, bool track_sources, bool track… in output_module_subset_report()
1928 std::string lm; in list_exceptions()
1930 …for( std::map< std::string, std::set<std::string> >::const_iterator i = s_module_headers.begin(); … in list_exceptions()
1932 std::string module = i->first; in list_exceptions()
1934 std::replace( module.begin(), module.end(), '~', '/' ); in list_exceptions()
1936 std::string const prefix = "boost/" + module; in list_exceptions()
1939 … for( std::set< std::string >::const_iterator j = i->second.begin(); j != i->second.end(); ++j ) in list_exceptions()
1941 std::string const & header = *j; in list_exceptions()
1947 std::cout << module << ":\n"; in list_exceptions()
1951 std::cout << " " << header << '\n'; in list_exceptions()
1961 std::set< std::string > & m_;
1963 module_test_primary_actions( std::set< std::string > & m ): m_( m ) in module_test_primary_actions()
1967 void heading( std::string const & module ) in heading()
1969 std::cout << "Test dependencies for " << module << ":\n\n"; in heading()
1972 void module_start( std::string const & module ) in module_start()
1974 std::cout << module << "\n"; in module_start()
1978 void module_end( std::string const & /*module*/ ) in module_end()
1982 void header_start( std::string const & /*header*/ ) in header_start()
1986 void header_end( std::string const & /*header*/ ) in header_end()
1990 void from_header( std::string const & /*header*/ ) in from_header()
1997 std::set< std::string > & m_;
1998 std::string m2_;
2000 module_test_secondary_actions( std::set< std::string > & m ): m_( m ) in module_test_secondary_actions()
2004 void heading( std::string const & /*module*/ ) in heading()
2008 void module_start( std::string const & module ) in module_start()
2013 void module_end( std::string const & /*module*/ ) in module_end()
2017 void module_adds( std::string const & module ) in module_adds()
2021 std::cout << module << " (from " << m2_ << ")\n"; in module_adds()
2027 static void output_module_test_report( std::string const & module ) in output_module_test_report()
2029 std::set< std::string > m; in output_module_test_report()
2034 std::cout << "\n"; in output_module_test_report()
2039 std::set< std::string > m2( m ); in output_module_test_report()
2051 std::set< std::string > set_;
2053 void heading( std::string const & ) in heading()
2057 void module_start( std::string const & module ) in module_start()
2064 void module_end( std::string const & /*module*/ ) in module_end()
2068 void header_start( std::string const & /*header*/ ) in header_start()
2072 void header_end( std::string const & /*header*/ ) in header_end()
2076 void from_header( std::string const & /*header*/ ) in from_header()
2081 static std::string module_cmake_name( std::string module ) in module_cmake_name()
2083 std::replace( module.begin(), module.end(), '~', '_' ); in module_cmake_name()
2087 static void output_module_cmake_report( std::string module ) in output_module_cmake_report()
2089 std::cout << in output_module_cmake_report()
2100 std::replace( module.begin(), module.end(), '/', '~' ); in output_module_cmake_report()
2102 std::vector<std::string> sources; in output_module_cmake_report()
2116 std::string ext = p.extension().string(); in output_module_cmake_report()
2120 std::string name = p.filename().string(); in output_module_cmake_report()
2128 std::string lm( module ); in output_module_cmake_report()
2130 std::replace( lm.begin(), lm.end(), '~', '_' ); in output_module_cmake_report()
2132 std::cout << in output_module_cmake_report()
2145 std::cout << in output_module_cmake_report()
2156 std::cout << in output_module_cmake_report()
2162 … for( std::set< std::string >::const_iterator i = a1.set_.begin(); i != a1.set_.end(); ++i ) in output_module_cmake_report()
2164 std::cout << " Boost::" << module_cmake_name( *i ) << "\n"; in output_module_cmake_report()
2167 std::cout << in output_module_cmake_report()
2178 std::cout << in output_module_cmake_report()
2182 for( std::vector<std::string>::iterator i = sources.begin(); i != sources.end(); ++i ) in output_module_cmake_report()
2184 std::cout << " src/" << *i << "\n"; in output_module_cmake_report()
2187 std::cout << in output_module_cmake_report()
2202 std::cout << in output_module_cmake_report()
2209 std::cout << in output_module_cmake_report()
2214 … for( std::set< std::string >::const_iterator i = a1.set_.begin(); i != a1.set_.end(); ++i ) in output_module_cmake_report()
2217 std::cout << " Boost::" << module_cmake_name( *i ) << "\n"; in output_module_cmake_report()
2223 std::cout << in output_module_cmake_report()
2228 … for( std::set< std::string >::const_iterator i = a2.set_.begin(); i != a2.set_.end(); ++i ) in output_module_cmake_report()
2230 std::cout << " Boost::" << module_cmake_name( *i ) << "\n"; in output_module_cmake_report()
2234 std::cout << in output_module_cmake_report()
2241 std::string um( lm ); in output_module_cmake_report()
2243 for( std::string::iterator i = um.begin(); i != um.end(); ++i ) in output_module_cmake_report()
2245 *i = std::toupper( static_cast<unsigned char>( *i ) ); in output_module_cmake_report()
2248 std::cout << in output_module_cmake_report()
2264 std::cout << in output_module_cmake_report()
2279 std::string module_, module2_;
2281 void heading( std::string const & module ) in heading()
2286 void module_start( std::string const & module ) in module_start()
2291 void module_end( std::string const & /*module*/ ) in module_end()
2295 void header_start( std::string const & header ) in header_start()
2301 std::cout << module_ << ":\n"; in header_start()
2305 std::cout << " <" << header << ">\n"; in header_start()
2309 void header_end( std::string const & /*header*/ ) in header_end()
2313 void from_header( std::string const & header ) in from_header()
2317 std::cout << " from <" << header << ">\n"; in from_header()
2322 static void list_missing_headers( std::string const & module ) in list_missing_headers()
2330 for( std::set< std::string >::const_iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in list_missing_headers()
2340 std::string version_;
2341 std::string list_;
2343 void heading( std::string const & ) in heading()
2347 void module_start( std::string const & module ) in module_start()
2351 std::string m2( module ); in module_start()
2352 std::replace( m2.begin(), m2.end(), '~', '_' ); in module_start()
2362 void module_end( std::string const & ) in module_end()
2366 void header_start( std::string const & ) in header_start()
2370 void header_end( std::string const & ) in header_end()
2374 void from_header( std::string const & ) in from_header()
2379 static void output_requires( std::string const & section, std::string const & version, std::set< st… in output_requires()
2383 for( std::set< std::string >::const_iterator i = s.begin(); i != s.end(); ++i ) in output_requires()
2387 std::cout << section << ": "; in output_requires()
2392 std::cout << ", "; in output_requires()
2395 std::string m2( *i ); in output_requires()
2396 std::replace( m2.begin(), m2.end(), '~', '_' ); in output_requires()
2398 std::cout << "boost_" << m2 << " = " << version; in output_requires()
2402 static void output_pkgconfig( std::string const & module, std::string const & version, int argc, ch… in output_pkgconfig()
2406 std::cout << argv[ i ] << '\n'; in output_pkgconfig()
2409 std::cout << '\n'; in output_pkgconfig()
2411 std::string m2( module ); in output_pkgconfig()
2412 std::replace( m2.begin(), m2.end(), '/', '_' ); in output_pkgconfig()
2414 std::string m3( module ); in output_pkgconfig()
2415 std::replace( m3.begin(), m3.end(), '/', '~' ); in output_pkgconfig()
2417 std::cout << "Name: boost_" << module << '\n'; in output_pkgconfig()
2418 std::cout << "Description: Boost C++ library '" << module << "'\n"; in output_pkgconfig()
2419 std::cout << "Version: " << version << '\n'; in output_pkgconfig()
2420 std::cout << "URL: http://www.boost.org/libs/" << module << '\n'; in output_pkgconfig()
2421 std::cout << "Cflags: -I${includedir}\n"; in output_pkgconfig()
2425 std::cout << "Libs: -L${libdir} -lboost_" << m2 << "\n"; in output_pkgconfig()
2434 std::cout << std::endl; in output_pkgconfig()
2440 for( std::set< std::string >::const_iterator i = a1.set_.begin(); i != a1.set_.end(); ++i ) in output_pkgconfig()
2448 std::cout << std::endl; in output_pkgconfig()
2454 static void output_directory_subset_report( std::string const & module, std::set<std::string> const… in output_directory_subset_report()
2456 for( std::set<std::string>::const_iterator i = headers.begin(); i != headers.end(); ++i ) in output_directory_subset_report()
2458 std::map< std::string, std::set< std::string > > deps; in output_directory_subset_report()
2459 std::map< std::string, std::set< std::string > > from; in output_directory_subset_report()
2461 std::ifstream is( i->c_str() ); in output_directory_subset_report()
2464 …for( std::map< std::string, std::set< std::string > >::const_iterator j = from.begin(); j != from.… in output_directory_subset_report()
2466 … for( std::set<std::string>::const_iterator k = j->second.begin(); k != j->second.end(); ++k ) in output_directory_subset_report()
2489 std::set< std::string > buildable_;
2491 std::set< std::string > deps_;
2500 std::cout << "# Generated by `boostdep --list-buildable-dependencies`\n\n"; in begin()
2507 void module_start( std::string const & module ) in module_start()
2514 std::cout << module << " ="; in module_start()
2518 void module_end( std::string const & module ) in module_end()
2524 std::cout << " headers"; in module_end()
2527 for( std::set< std::string >::iterator i = deps_.begin(); i != deps_.end(); ++i ) in module_end()
2529 std::cout << " " << *i; in module_end()
2532 std::cout << " ;\n"; in module_end()
2536 void module2( std::string const & module ) in module2()
2555 for( std::set< std::string >::iterator i = s_modules.begin(); i != s_modules.end(); ++i ) in list_buildable_dependencies()
2597 class teebuf: public std::streambuf
2601 std::streambuf * sb1_;
2602 std::streambuf * sb2_;
2606 teebuf( std::streambuf * sb1, std::streambuf * sb2 ): sb1_( sb1 ), sb2_( sb2 ) in teebuf()
2635 std::streambuf * sb_;
2639 save_cout_rdbuf(): sb_( std::cout.rdbuf() ) in save_cout_rdbuf()
2645 std::cout.rdbuf( sb_ ); in ~save_cout_rdbuf()
2655 std::cout << in main()
2693 std::string option = argv[ i ]; in main()
2708 std::cerr << "'" << p.string() << "': not a valid Boost root.\n"; in main()
2714 std::cerr << "'" << option << "': missing argument.\n"; in main()
2722 char const * env_root = std::getenv( "BOOST_ROOT" ); in main()
2730 std::cerr << "boostdep: Could not find Boost root.\n"; in main()
2741 std::cerr << x.what() << std::endl; in main()
2749 std::string html_title = "Boost Dependency Report"; in main()
2750 std::string html_footer; in main()
2751 std::string html_stylesheet; in main()
2752 std::string html_prefix; in main()
2754 std::ostringstream captured_output; in main()
2755 teebuf tsb( std::cout.rdbuf(), captured_output.rdbuf() ); in main()
2761 std::string option = argv[ i ]; in main()
2912 std::string module = argv[ ++i ]; in main()
2913 std::string version = argv[ ++i ]; in main()
2921 std::cerr << "'" << option << "': missing module or version.\n"; in main()
2930 std::string module = argv[ ++i ]; in main()
2934 std::set<std::string> headers; in main()
2941 std::cerr << "'" << option << "': missing argument.\n"; in main()
2953 std::cout.rdbuf( &tsb ); in main()
2959 std::string fn = argv[ ++i ]; in main()
2960 std::fstream is( fn.c_str() ); in main()
2964 std::cerr << option << " '" << fn << "': could not open file.\n"; in main()
2968 std::istreambuf_iterator<char> first( is ), last; in main()
2969 std::string fc( first, last ); in main()
2973 …std::cerr << option << " '" << fn << "': output does not match; expected output:\n---\n" << fc << … in main()
2977 std::cerr << option << " '" << fn << "': output matches.\n"; in main()
2982 std::cerr << "'" << option << "': missing argument.\n"; in main()
2997 std::cerr << "'" << option << "': not an option, module or header.\n"; in main()