Changeset 669 in dev
- Timestamp:
- Jun 28, 2008, 8:17:17 PM (16 years ago)
- Location:
- trunk/ab5.0/abdev/ab_common
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h
r523 r669 20 20 NamespaceScopes( const std::string &namespaceStr ); 21 21 ~NamespaceScopes(){} 22 23 NamespaceScopes operator+ ( const NamespaceScopes &namespaceScopes ) const; 22 24 23 25 std::string ToString() const … … 50 52 51 53 // 等しいかをチェック 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; 59 55 60 56 // 所属しているかをチェック -
trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h
r668 r669 90 90 91 91 // 指定された名前空間が同一エリアと見なされるかどうかをチェック 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; 122 93 }; 123 94 -
trunk/ab5.0/abdev/ab_common/src/Lexical/Namespace.cpp
r516 r669 24 24 i = i2 + 1; 25 25 } 26 } 27 28 NamespaceScopes NamespaceScopes::operator+ ( const NamespaceScopes &namespaceScopes ) const 29 { 30 NamespaceScopes result = *this; 31 BOOST_FOREACH( const std::string &name, namespaceScopes ) 32 { 33 result.push_back( name ); 34 } 35 return result; 36 } 37 38 bool NamespaceScopes::IsEqual( const NamespaceScopes &namespaceScopes ) const 39 { 40 if( this->size() != namespaceScopes.size() ) 41 { 42 return false; 43 } 44 45 for( int i=static_cast<int>(this->size()-1); i>=0; i-- ) 46 { 47 if( (*this)[i] != namespaceScopes[i] ) 48 { 49 return false; 50 } 51 } 52 53 return true; 26 54 } 27 55 -
trunk/ab5.0/abdev/ab_common/src/Lexical/NamespaceSupporter.cpp
r516 r669 21 21 return ImportsNamespace( namespaceScopes ); 22 22 } 23 24 bool NamespaceSupporter::IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const 25 { 26 if( entryNamespaceScopes.size() ) 27 { 28 if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) ) 29 { 30 // 包括しているときは同一と見なす 31 return true; 32 } 33 } 34 else{ 35 if( baseNamespaceScopes.size() ) 36 { 37 // 名前空間の判断が必要なとき 38 if( this->importedNamespaces.IsImported( baseNamespaceScopes ) 39 || IsLiving( baseNamespaceScopes ) ) 40 { 41 // Using指定があるとき 42 // または 43 // 指定された名前空間が現在の名前空間スコープと同一のとき 44 return true; 45 } 46 } 47 else{ 48 return true; 49 } 50 } 51 52 return false; 53 }
Note:
See TracChangeset
for help on using the changeset viewer.