Browse Source

MD5: Use C++11 range-based for loop

Turo Lamminen 9 years ago
parent
commit
ac676d4d3c
1 changed files with 21 additions and 21 deletions
  1. 21 21
      code/MD5Parser.cpp

+ 21 - 21
code/MD5Parser.cpp

@@ -193,13 +193,13 @@ bool MD5Parser::ParseSection(Section& out)
 
 // skip all spaces ... handle EOL correctly
 #define AI_MD5_SKIP_SPACES()  if(!SkipSpaces(&sz)) \
-    MD5Parser::ReportWarning("Unexpected end of line",(*eit).iLineNumber);
+    MD5Parser::ReportWarning("Unexpected end of line",elem.iLineNumber);
 
     // read a triple float in brackets: (1.0 1.0 1.0)
 #define AI_MD5_READ_TRIPLE(vec) \
     AI_MD5_SKIP_SPACES(); \
     if ('(' != *sz++) \
-        MD5Parser::ReportWarning("Unexpected token: ( was expected",(*eit).iLineNumber); \
+        MD5Parser::ReportWarning("Unexpected token: ( was expected",elem.iLineNumber); \
     AI_MD5_SKIP_SPACES(); \
     sz = fast_atoreal_move<float>(sz,(float&)vec.x); \
     AI_MD5_SKIP_SPACES(); \
@@ -208,7 +208,7 @@ bool MD5Parser::ParseSection(Section& out)
     sz = fast_atoreal_move<float>(sz,(float&)vec.z); \
     AI_MD5_SKIP_SPACES(); \
     if (')' != *sz++) \
-        MD5Parser::ReportWarning("Unexpected token: ) was expected",(*eit).iLineNumber);
+        MD5Parser::ReportWarning("Unexpected token: ) was expected",elem.iLineNumber);
 
     // parse a string, enclosed in quotation marks or not
 #define AI_MD5_PARSE_STRING(out) \
@@ -220,7 +220,7 @@ bool MD5Parser::ParseSection(Section& out)
         szStart++; \
         if ('\"' != *(szEnd-=1)) { \
             MD5Parser::ReportWarning("Expected closing quotation marks in string", \
-                (*eit).iLineNumber); \
+                elem.iLineNumber); \
             continue; \
         } \
     } \
@@ -244,11 +244,11 @@ MD5MeshParser::MD5MeshParser(SectionList& mSections)
         }
         else if ((*iter).mName == "joints") {
             // "origin" -1 ( -0.000000 0.016430 -0.006044 ) ( 0.707107 0.000000 0.707107 )
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end();eit != eitEnd; ++eit){
+            for (const auto & elem : (*iter).mElements){
                 mJoints.push_back(BoneDesc());
                 BoneDesc& desc = mJoints.back();
 
-                const char* sz = (*eit).szStart;
+                const char* sz = elem.szStart;
                 AI_MD5_PARSE_STRING(desc.mName);
                 AI_MD5_SKIP_SPACES();
 
@@ -263,8 +263,8 @@ MD5MeshParser::MD5MeshParser(SectionList& mSections)
             mMeshes.push_back(MeshDesc());
             MeshDesc& desc = mMeshes.back();
 
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end();eit != eitEnd; ++eit){
-                const char* sz = (*eit).szStart;
+            for (const auto & elem : (*iter).mElements){
+                const char* sz = elem.szStart;
 
                 // shader attribute
                 if (TokenMatch(sz,"shader",6))  {
@@ -297,14 +297,14 @@ MD5MeshParser::MD5MeshParser(SectionList& mSections)
 
                     VertexDesc& vert = desc.mVertices[idx];
                     if ('(' != *sz++)
-                        MD5Parser::ReportWarning("Unexpected token: ( was expected",(*eit).iLineNumber);
+                        MD5Parser::ReportWarning("Unexpected token: ( was expected",elem.iLineNumber);
                     AI_MD5_SKIP_SPACES();
                     sz = fast_atoreal_move<float>(sz,(float&)vert.mUV.x);
                     AI_MD5_SKIP_SPACES();
                     sz = fast_atoreal_move<float>(sz,(float&)vert.mUV.y);
                     AI_MD5_SKIP_SPACES();
                     if (')' != *sz++)
-                        MD5Parser::ReportWarning("Unexpected token: ) was expected",(*eit).iLineNumber);
+                        MD5Parser::ReportWarning("Unexpected token: ) was expected",elem.iLineNumber);
                     AI_MD5_SKIP_SPACES();
                     vert.mFirstWeight = ::strtoul10(sz,&sz);
                     AI_MD5_SKIP_SPACES();
@@ -357,11 +357,11 @@ MD5AnimParser::MD5AnimParser(SectionList& mSections)
     for (SectionList::const_iterator iter =  mSections.begin(), iterEnd = mSections.end();iter != iterEnd;++iter) {
         if ((*iter).mName == "hierarchy")   {
             // "sheath" 0 63 6
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end();eit != eitEnd; ++eit) {
+            for (const auto & elem : (*iter).mElements) {
                 mAnimatedBones.push_back ( AnimBoneDesc () );
                 AnimBoneDesc& desc = mAnimatedBones.back();
 
-                const char* sz = (*eit).szStart;
+                const char* sz = elem.szStart;
                 AI_MD5_PARSE_STRING(desc.mName);
                 AI_MD5_SKIP_SPACES();
 
@@ -371,7 +371,7 @@ MD5AnimParser::MD5AnimParser(SectionList& mSections)
                 // flags (highest is 2^6-1)
                 AI_MD5_SKIP_SPACES();
                 if(63 < (desc.iFlags = ::strtoul10(sz,&sz))){
-                    MD5Parser::ReportWarning("Invalid flag combination in hierarchy section",(*eit).iLineNumber);
+                    MD5Parser::ReportWarning("Invalid flag combination in hierarchy section",elem.iLineNumber);
                 }
                 AI_MD5_SKIP_SPACES();
 
@@ -381,8 +381,8 @@ MD5AnimParser::MD5AnimParser(SectionList& mSections)
         }
         else if((*iter).mName == "baseframe")   {
             // ( -0.000000 0.016430 -0.006044 ) ( 0.707107 0.000242 0.707107 )
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end(); eit != eitEnd; ++eit) {
-                const char* sz = (*eit).szStart;
+            for (const auto & elem : (*iter).mElements) {
+                const char* sz = elem.szStart;
 
                 mBaseFrames.push_back ( BaseFrameDesc () );
                 BaseFrameDesc& desc = mBaseFrames.back();
@@ -407,8 +407,8 @@ MD5AnimParser::MD5AnimParser(SectionList& mSections)
             }
 
             // now read all elements (continuous list of floats)
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end(); eit != eitEnd; ++eit){
-                const char* sz = (*eit).szStart;
+            for (const auto & elem : (*iter).mElements){
+                const char* sz = elem.szStart;
                 while (SkipSpacesAndLineEnd(&sz))   {
                     float f;sz = fast_atoreal_move<float>(sz,f);
                     desc.mValues.push_back(f);
@@ -455,13 +455,13 @@ MD5CameraParser::MD5CameraParser(SectionList& mSections)
             cuts.reserve(strtoul10((*iter).mGlobalValue.c_str()));
         }
         else if ((*iter).mName == "cuts")   {
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end(); eit != eitEnd; ++eit){
-                cuts.push_back(strtoul10((*eit).szStart)+1);
+            for (const auto & elem : (*iter).mElements){
+                cuts.push_back(strtoul10(elem.szStart)+1);
             }
         }
         else if ((*iter).mName == "camera") {
-            for (ElementList::const_iterator eit = (*iter).mElements.begin(), eitEnd = (*iter).mElements.end(); eit != eitEnd; ++eit){
-                const char* sz = (*eit).szStart;
+            for (const auto & elem : (*iter).mElements){
+                const char* sz = elem.szStart;
 
                 frames.push_back(CameraAnimFrameDesc());
                 CameraAnimFrameDesc& cur = frames.back();