Ignore:
Timestamp:
Sep 24, 2008, 2:02:16 AM (16 years ago)
Author:
イグトランス (egtra)
Message:

BOOST_FOREACHを可能なものはVC++ 2005 for eachへ置換(やや速くなる)。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Class.cpp

    r732 r750  
    208208
    209209    bool result = true;
    210     BOOST_FOREACH( Member *pMember, objClass.GetDynamicMembers() ){
     210    foreach( Member *pMember, objClass.GetDynamicMembers() ){
    211211        if(pMember->GetType().IsStruct()){
    212212            //循環参照でないかをチェック
     
    332332
    333333    //メソッド
    334     BOOST_FOREACH( const CMethod *pMethod, pobj_c->GetDynamicMethods() )
     334    foreach( const CMethod *pMethod, pobj_c->GetDynamicMethods() )
    335335    {
    336336        //基底クラスと重複する場合はオーバーライドを行う
     
    363363    {
    364364        // インターフェイス メソッドのオーバーライド
    365         BOOST_FOREACH( ::Interface *pInterface, pobj_c->GetInterfaces() )
     365        foreach( ::Interface *pInterface, pobj_c->GetInterfaces() )
    366366        {
    367367            if( interfaceName[0] )
     
    438438        // 型パラメータ文字列から型データを取得
    439439        Types actualTypeParameters;
    440         BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )
     440        foreach( const std::string &typeParameterStr, typeParameterStrings )
    441441        {
    442442            Type type;
     
    517517{
    518518    // まずは継承されたインターフェイスを実装する
    519     BOOST_FOREACH( ::Interface *pInheritsInterface, pInterface->GetClass().GetInterfaces() )
     519    foreach( ::Interface *pInheritsInterface, pInterface->GetClass().GetInterfaces() )
    520520    {
    521521        // TODO: actualTypeParametersの引渡し
     
    532532    // 基底クラスのメソッドからインターフェイスメソッドを再実装する
    533533    /////////////////////////////////////////////////////////////////
    534     BOOST_FOREACH( CMethod *pMethod, _class.GetDynamicMethods() )
     534    foreach( CMethod *pMethod, _class.GetDynamicMethods() )
    535535    {
    536536        DynamicMethod *pMethodForOverride = pInterface->GetDynamicMethods().FindForOverride( pInterface->GetActualTypeParameters(), &pMethod->GetUserProc() );
     
    612612    SplitParameter( interfaceNames, paramStrs );
    613613   
    614     BOOST_FOREACH( const std::string &paramStr, paramStrs )
     614    foreach( const std::string &paramStr, paramStrs )
    615615    {
    616616        char className[VN_SIZE];
     
    619619
    620620        Types actualTypeParameters;
    621         BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )
     621        foreach( const std::string &typeParameterStr, typeParameterStrings )
    622622        {
    623623            Type type;
     
    821821                // 型パラメータ文字列から型データを取得
    822822                Types actualTypeParameters;
    823                 BOOST_FOREACH( const std::string &typeParameterStr, typeParameterStrings )
     823                foreach( const std::string &typeParameterStr, typeParameterStrings )
    824824                {
    825825                    Type type;
     
    13891389
    13901390    // パラメータのジェネリック型を解決
    1391     BOOST_FOREACH( const Parameter *pParam, pBaseMethod->GetUserProc().Params() )
     1391    foreach( const Parameter *pParam, pBaseMethod->GetUserProc().Params() )
    13921392    {
    13931393        Type type = pParam->IsTypeParameter()
     
    13981398        pUserProc->GetParameters().push_back( new Parameter( *pParam, type ) );
    13991399    }
    1400     BOOST_FOREACH( const Parameter *pParam, pBaseMethod->GetUserProc().RealParams() )
     1400    foreach( const Parameter *pParam, pBaseMethod->GetUserProc().RealParams() )
    14011401    {
    14021402        Type type = pParam->IsTypeParameter()
     
    14401440    // 実型パラメータに値型が含まれないとき
    14411441    bool isValueType = false;
    1442     BOOST_FOREACH( const Type &actualType, actualTypes )
     1442    foreach( const Type &actualType, actualTypes )
    14431443    {
    14441444        if( actualType.IsValueType() )
     
    14531453
    14541454    // 展開済みのクラスがあればそれを返す
    1455     BOOST_FOREACH( const ExpandedTemplateClass *pExpandedTemplateClass, _class.expandedTemplateClasses )
     1455    foreach( const ExpandedTemplateClass *pExpandedTemplateClass, _class.expandedTemplateClasses )
    14561456    {
    14571457        if( pExpandedTemplateClass->GetActualTypes().IsEquals( actualTypes ) )
     
    14871487    {
    14881488        Types expandedSuperClassActualTypes;
    1489         BOOST_FOREACH( const Type &superClassActualType, _class.GetSuperClassActualTypeParameters() )
     1489        foreach( const Type &superClassActualType, _class.GetSuperClassActualTypeParameters() )
    14901490        {
    14911491            expandedSuperClassActualTypes.push_back( TemplateExpand_ResolveType( superClassActualType, actualTypes ) );
     
    14971497
    14981498    // インターフェイスのジェネリック型を解決
    1499     BOOST_FOREACH( const ::Interface *pInterface, _class.GetInterfaces() )
     1499    foreach( const ::Interface *pInterface, _class.GetInterfaces() )
    15001500    {
    15011501        const CClass *pExpandedInterfaceClass = TemplateExpand( *const_cast<CClass *>(&pInterface->GetClass()), actualTypes );
     
    15041504
    15051505        // インターフェイス メソッドのジェネリック型を解決
    1506         BOOST_FOREACH( const CMethod *pMethod, pInterface->GetDynamicMethods() )
     1506        foreach( const CMethod *pMethod, pInterface->GetDynamicMethods() )
    15071507        {
    15081508            if( pMethod->GetUserProc().GetParentClassPtr() == &_class )
     
    15331533
    15341534    // メンバのジェネリック型を解決
    1535     BOOST_FOREACH( const Member *pMember, _class.GetDynamicMembers() )
     1535    foreach( const Member *pMember, _class.GetDynamicMembers() )
    15361536    {
    15371537        Type type = pMember->GetType();
     
    15491549
    15501550    // クラス メソッドのジェネリック型を解決
    1551     BOOST_FOREACH( const CMethod *pMethod, _class.GetDynamicMethods() )
     1551    foreach( const CMethod *pMethod, _class.GetDynamicMethods() )
    15521552    {
    15531553        if( pMethod->GetUserProc().GetParentClassPtr() == &_class )
Note: See TracChangeset for help on using the changeset viewer.