Ignore:
Timestamp:
12/11/23 11:18:00 (7 months ago)
Author:
jderouillat
Message:

Replace the childList (not updated) usage by a childMap usage to get a Context from a string

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/interface/c/iccontext.cpp

    r2121 r2603  
    3838      CTimer::get("XIOS").resume() ; 
    3939 
    40       std::vector<xios::CContext*> def_vector = 
    41             xios::CContext::getRoot()->getChildList(); 
    42  
    43       for (std::size_t i = 0; i < def_vector.size(); i++) 
     40      xios_map<StdString, CContext* > def_map = 
     41            xios::CContext::getRoot()->getChildMap(); 
     42       
     43      if (def_map.count(id)) 
    4444      { 
    45           if (def_vector[i]->getId().compare(id) == 0) 
    46           { 
    47             *_ret = def_vector[i]; 
    48              CTimer::get("XIOS").suspend() ; 
    49             return; 
    50           } 
     45        *_ret = def_map[id]; 
     46        CTimer::get("XIOS").suspend() ; 
     47        return; 
    5148      } 
    5249       CTimer::get("XIOS").suspend() ; 
     
    9390 
    9491      CTimer::get("XIOS").resume(); 
    95       std::vector<xios::CContext*> def_vector = 
    96             xios::CContext::getRoot()->getChildList(); 
     92 
     93      xios_map<StdString, CContext* > def_map = 
     94            xios::CContext::getRoot()->getChildMap(); 
    9795 
    9896      *_ret = false; 
    99       for (std::size_t i = 0; i < def_vector.size(); i++) 
     97      if (def_map.count(id)) 
    10098      { 
    101         if (def_vector[i]->getId().compare(id) == 0) 
    102         { 
    103           *_ret = true; 
    104           break; 
    105         } 
     99        *_ret = true; 
     100        return; 
    106101      } 
    107102      CTimer::get("XIOS").suspend(); 
Note: See TracChangeset for help on using the changeset viewer.