Ignore:
Timestamp:
Feb 11, 2011, 10:05:14 PM (14 years ago)
Author:
イグトランス (egtra)
Message:

Hashmapの実装にunorderedを用いるよう変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/egtra/ab5.0/abdev/compiler_x86/MakePeHdr.cpp

    r750 r803  
    176176            compiler.GetObjectModule().meta.GetDelegates()
    177177        );
    178         compiler.GetObjectModule().meta.GetDelegates().Iterator_Init();
    179178
    180179        // デリゲートからクラスコードを生成
     
    229228    );
    230229
    231     // サブルーチン(ユーザー定義、DLL関数)のイテレータの準備
    232     compiler.GetObjectModule().meta.GetUserProcs().Iterator_Init();
    233     compiler.GetObjectModule().meta.GetDllProcs().Iterator_Init();
    234 
    235 
    236230
    237231    ///////////////////////////
     
    558552        }
    559553    }
    560     compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
    561     while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    562     {
    563         const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    564 
     554    foreach(auto pDllProc, compiler.GetObjectModule().meta.GetDllProcs())
     555    {
    565556        if( !pDllProc->IsUsing() ){
    566557            continue;
     
    631622            //辞書順にサーチ
    632623            temporary[0]=0;
    633             compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
    634             while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
     624            foreach(auto pTempUserProc, compiler.GetObjectModule().meta.GetUserProcs())
    635625            {
    636                 UserProc *pTempUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    637626                if(pTempUserProc->IsExport()){
    638627                    if(temporary[0]=='\0'){
     
    723712    int ImportDllNum=0;
    724713
    725     compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
    726     while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
    727     {
    728         const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    729 
     714    foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs())
     715    {
    730716        if( !pDllProc->IsUsing() ){
    731717            continue;
     
    762748        pImportTable[i].Name=i3+i*0x10;
    763749
    764         compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
    765         while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
     750        foreach (auto const *pDllProc, compiler.GetObjectModule().meta.GetDllProcs())
    766751        {
    767             const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    768 
    769             if( !pDllProc->IsUsing() ){
     752            if (!pDllProc->IsUsing())
     753            {
    770754                continue;
    771755            }
    772 
    773             if( pDllProc->GetDllFileName() == ppDllNames[i] ){
     756            if (pDllProc->GetDllFileName() == ppDllNames[i])
     757            {
    774758                //ルックアップデータのサイズを追加
    775                 LookupSize+=sizeof(DWORD);
     759                LookupSize += sizeof (DWORD);
    776760            }
    777761        }
     
    790774    i3+=ImportDllNum*0x10;
    791775    for(i=0,i5=0;i<ImportDllNum;i++){
    792         compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
    793         while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
     776        foreach (auto pDllProc, compiler.GetObjectModule().meta.GetDllProcs())
    794777        {
    795             DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    796 
    797778            if( !pDllProc->IsUsing() ){
    798779                continue;
     
    10751056            HintSize;           //ヒント名(関数名)テーブル
    10761057
    1077         compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset();
    1078         while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() )
     1058        foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs())
    10791059        {
    1080             const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();
    1081 
    10821060            if( !pDllProc->IsUsing() ){
    10831061                continue;
Note: See TracChangeset for help on using the changeset viewer.