Ignore:
Timestamp:
Jun 28, 2008, 8:17:17 PM (16 years ago)
Author:
dai_9181
Message:

NamespaceScopes::IsEqualを高速化した(他、リファクタリング)。

Location:
trunk/ab5.0/abdev/ab_common/include/Lexical
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h

    r523 r669  
    2020    NamespaceScopes( const std::string &namespaceStr );
    2121    ~NamespaceScopes(){}
     22
     23    NamespaceScopes operator+ ( const NamespaceScopes &namespaceScopes ) const;
    2224
    2325    std::string ToString() const
     
    5052
    5153    // 等しいかをチェック
    52     bool IsEqual( const NamespaceScopes &namespaceScopes ) const
    53     {
    54         if( ToString() == namespaceScopes.ToString() ){
    55             return true;
    56         }
    57         return false;
    58     }
     54    bool IsEqual( const NamespaceScopes &namespaceScopes ) const;
    5955
    6056    // 所属しているかをチェック
  • trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h

    r668 r669  
    9090
    9191    // 指定された名前空間が同一エリアと見なされるかどうかをチェック
    92     bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const
    93     {
    94         if( entryNamespaceScopes.size() )
    95         {
    96             if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) )
    97             {
    98                 // 包括しているときは同一と見なす
    99                 return true;
    100             }
    101         }
    102         else{
    103             if( baseNamespaceScopes.size() )
    104             {
    105                 // 名前空間の判断が必要なとき
    106                 if( this->importedNamespaces.IsImported( baseNamespaceScopes )
    107                     || IsLiving( baseNamespaceScopes ) )
    108                 {
    109                     // Using指定があるとき
    110                     // または
    111                     // 指定された名前空間が現在の名前空間スコープと同一のとき
    112                     return true;
    113                 }
    114             }
    115             else{
    116                 return true;
    117             }
    118         }
    119 
    120         return false;
    121     }
     92    bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const;
    12293};
    12394
Note: See TracChangeset for help on using the changeset viewer.