浏览代码

# NoBoost: fix a critical issue in the foreach replacement. All local variables introduced by the loop header have longer, magic names now. This avoids unintended shadowing of other local variables.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1055 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
aramis_acg 14 年之前
父节点
当前提交
d29dde1646
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      code/BoostWorkaround/boost/foreach.hpp

+ 4 - 4
code/BoostWorkaround/boost/foreach.hpp

@@ -88,11 +88,11 @@ typename T::const_reference deref(auto_any_base const& cur, const T&)
 // FOREACH
 // FOREACH
 
 
 #define BOOST_FOREACH(item, container)                      \
 #define BOOST_FOREACH(item, container)                      \
-	if(boost::foreach_detail::auto_any_base const& b = boost::foreach_detail::begin(container)) {} else       \
-    if(boost::foreach_detail::auto_any_base const& e = boost::foreach_detail::end(container))   {} else       \
-    for(;!boost::foreach_detail::done(b,e,container);  boost::foreach_detail::next(b,container))   \
+	if(boost::foreach_detail::auto_any_base const& foreach_magic_b = boost::foreach_detail::begin(container)) {} else       \
+    if(boost::foreach_detail::auto_any_base const& foreach_magic_e = boost::foreach_detail::end(container))   {} else       \
+    for(;!boost::foreach_detail::done(foreach_magic_b,foreach_magic_e,container);  boost::foreach_detail::next(foreach_magic_b,container))   \
         if (bool ugly_and_unique_break = false) {} else							\
         if (bool ugly_and_unique_break = false) {} else							\
-        for(item = boost::foreach_detail::deref(b,container); !ugly_and_unique_break; ugly_and_unique_break = true)
+        for(item = boost::foreach_detail::deref(foreach_magic_b,container); !ugly_and_unique_break; ugly_and_unique_break = true)
 
 
 } // end boost
 } // end boost