Просмотр исходного кода

Reuse const FindAttribute for non-const version thereof

Dmitry-Me 11 лет назад
Родитель
Сommit
1227d51ed0
2 измененных файлов с 3 добавлено и 12 удалено
  1. 0 11
      tinyxml2.cpp
  2. 3 1
      tinyxml2.h

+ 0 - 11
tinyxml2.cpp

@@ -1243,17 +1243,6 @@ XMLElement::~XMLElement()
 }
 
 
-XMLAttribute* XMLElement::FindAttribute( const char* name )
-{
-    for( XMLAttribute* a = _rootAttribute; a; a = a->_next ) {
-        if ( XMLUtil::StringEqual( a->Name(), name ) ) {
-            return a;
-        }
-    }
-    return 0;
-}
-
-
 const XMLAttribute* XMLElement::FindAttribute( const char* name ) const
 {
     for( XMLAttribute* a = _rootAttribute; a; a = a->_next ) {

+ 3 - 1
tinyxml2.h

@@ -1491,7 +1491,9 @@ private:
     XMLElement( const XMLElement& );	// not supported
     void operator=( const XMLElement& );	// not supported
 
-    XMLAttribute* FindAttribute( const char* name );
+    XMLAttribute* FindAttribute( const char* name ) {
+        return const_cast<XMLAttribute*>(const_cast<const XMLElement*>(this)->FindAttribute( name ));
+    }
     XMLAttribute* FindOrCreateAttribute( const char* name );
     //void LinkAttribute( XMLAttribute* attrib );
     char* ParseAttributes( char* p );