Explorar o código

corrections for gcc compiler

[SVN r38923]
Robert Ramey %!s(int64=18) %!d(string=hai) anos
pai
achega
83444cd2ce
Modificáronse 1 ficheiros con 22 adicións e 28 borrados
  1. 22 28
      tools/regression/library_status.cpp

+ 22 - 28
tools/regression/library_status.cpp

@@ -89,32 +89,24 @@ namespace
     struct col_node {
         int rows, cols;
         bool is_leaf_directory;
-        std::string m_name;
-        std::set<col_node> m_subcolumns;
+        typedef std::map<const std::string, col_node> subcolumns_t;
+        subcolumns_t m_subcolumns;
         bool operator<(const col_node &cn) const;
-        col_node(const std::string &s) :
-        m_name(s),
+        col_node() :
             is_leaf_directory(false)
         {}
-        col_node(){};
         std::pair<int, int> get_spans();
-        typedef std::set<col_node>::iterator iterator;
-        typedef std::set<col_node>::const_iterator const_iterator;
     };
 
-    bool col_node::operator<(const col_node &cn) const {
-        return m_name < cn.m_name;
-    }
-
     std::pair<int, int> col_node::get_spans(){
         rows = 1;
         cols = 0;
         if(is_leaf_directory)
             cols = 1;
-        std::set<col_node>::iterator itr;
+        subcolumns_t::iterator itr;
         for(itr = m_subcolumns.begin(); itr != m_subcolumns.end(); ++itr){
             std::pair<int, int> spans;
-            spans = itr->get_spans();
+            spans = itr->second.get_spans();
             rows = std::max(rows, spans.first);
             cols += spans.second;
         }
@@ -126,9 +118,11 @@ namespace
         fs::directory_iterator itr(dir_root);
         while(itr != end_itr){
             if(fs::is_directory(*itr)){
-                std::pair<col_node::iterator, bool> result 
-                    = node.m_subcolumns.insert(col_node(itr->leaf()));
-                build_node_tree(*itr, *(result.first));
+                std::pair<col_node::subcolumns_t::iterator, bool> result 
+                    = node.m_subcolumns.insert(
+                        std::make_pair(itr->leaf(), col_node())
+                    );
+                build_node_tree(*itr, result.first->second);
                 is_leaf_directory = false;
             }
             ++itr;
@@ -552,19 +546,19 @@ namespace
             );
         }
 
-        col_node::const_iterator col_itr;
+        col_node::subcolumns_t::const_iterator col_itr;
         for(
             col_itr = node.m_subcolumns.begin(); 
             col_itr != node.m_subcolumns.end();
             ++col_itr
         ){
-            fs::path subdir = dir_root / col_itr->m_name;
+            fs::path subdir = dir_root / col_itr->first;
             retval |= visit_node_tree(
-                *col_itr, 
+                col_itr->second, 
                 subdir,
                 lib_name,
                 target,
-                col_itr->m_name == "profile"
+                col_itr->first == "profile"
             );
         }
         return retval;
@@ -656,10 +650,10 @@ namespace
 
     //  column header-----------------------------------------------------------//
     int header_depth(const col_node & root){
-        std::set<col_node>::const_iterator itr;
+        col_node::subcolumns_t::const_iterator itr;
         int max_depth = 1;
         for(itr = root.m_subcolumns.begin(); itr != root.m_subcolumns.end(); ++itr){
-            max_depth = std::max(max_depth, itr->rows);
+            max_depth = std::max(max_depth, itr->second.rows);
         }
         return max_depth;
     }
@@ -685,9 +679,9 @@ namespace
     ){
         if(current_row < display_row){
             if(! node.m_subcolumns.empty()){
-                std::set<col_node>::const_iterator itr;
+                col_node::subcolumns_t::const_iterator itr;
                 for(itr = node.m_subcolumns.begin(); itr != node.m_subcolumns.end(); ++itr){
-                    emit_column_headers(*itr, display_row, current_row + 1, row_count);
+                    emit_column_headers(itr->second, display_row, current_row + 1, row_count);
                 }
             }
             return;
@@ -695,12 +689,12 @@ namespace
         if(node.is_leaf_directory && ! node.m_subcolumns.empty()){
             header_cell(row_count - current_row, 1, std::string(""));
         }
-        std::set<col_node>::const_iterator itr;
+        col_node::subcolumns_t::const_iterator itr;
         for(itr = node.m_subcolumns.begin(); itr != node.m_subcolumns.end(); ++itr){
-            if(1 == itr->rows)
-                header_cell(row_count - current_row, itr->cols, itr->m_name);
+            if(1 == itr->second.rows)
+                header_cell(row_count - current_row, itr->second.cols, itr->first);
             else
-                header_cell(1, itr->cols, itr->m_name);
+                header_cell(1, itr->second.cols, itr->first);
         }
     }
 

粤ICP备19079148号