Changeset 192 in dev for trunk/jenga/include/smoothie/Namespace.h
- Timestamp:
- Jun 26, 2007, 5:04:29 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jenga/include/smoothie/Namespace.h
r170 r192 70 70 } 71 71 72 bool IsImported() const;73 74 72 bool IsLiving() const; 75 73 … … 82 80 bool IsCoverd( const string &name ) const; 83 81 bool IsCoverd( const NamespaceScopes &namespaceScopes ) const; 84 85 // 指定された名前空間が同一エリアと見なされるかどうかをチェック86 static bool IsSameArea( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ){87 if( entryNamespaceScopes.size() ){88 if( baseNamespaceScopes.IsCoverd( entryNamespaceScopes ) ){89 // 包括しているときは同一と見なす90 return true;91 }92 }93 else{94 if( baseNamespaceScopes.size() ){95 // 名前空間の判断が必要なとき96 if( baseNamespaceScopes.IsImported()97 || baseNamespaceScopes.IsLiving() ){98 // Using指定があるとき99 // または100 // 指定された名前空間が現在の名前空間スコープと同一のとき101 return true;102 }103 }104 else{105 return true;106 }107 }108 109 return false;110 }111 82 }; 112 83 … … 128 99 return IsExist( NamespaceScopes( namespaceStr ) ); 129 100 } 101 102 bool IsImported( const NamespaceScopes &namespaceScopes ) const 103 { 104 const NamespaceScopesCollection &namespaceScopesCollection = *this; 105 BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection ) 106 { 107 if( namespaceScopes.IsEqual( tempNamespaceScopes ) ) 108 { 109 return true; 110 } 111 } 112 return false; 113 } 114 130 115 void SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const; 131 132 bool Imports( const string &namespaceStr );133 116 134 117 static bool CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection );
Note:
See TracChangeset
for help on using the changeset viewer.