Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/util/util_foreach.h
| Show All 13 Lines | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef __UTIL_FOREACH_H__ | #ifndef __UTIL_FOREACH_H__ | ||||
| #define __UTIL_FOREACH_H__ | #define __UTIL_FOREACH_H__ | ||||
| /* Use Boost to get nice foreach() loops for STL data structures. */ | /* Use Boost to get nice foreach() loops for STL data structures. */ | ||||
| #if (__cplusplus > 199711L) || (defined(_MSC_VER) && _MSC_VER >= 1800) | |||||
sergey: That's not totally correct i'm afraid.
Should be
#if (__cplusplus > 199711L) || (defined… | |||||
| # define foreach(x, y) for(x : y) | |||||
| #else | |||||
| #include <boost/foreach.hpp> | # include <boost/foreach.hpp> | ||||
| #define foreach BOOST_FOREACH | # define foreach BOOST_FOREACH | ||||
| #endif | |||||
| #endif /* __UTIL_FOREACH_H__ */ | #endif /* __UTIL_FOREACH_H__ */ | ||||
That's not totally correct i'm afraid.
Should be
Now, ideally we should define CYCLES_USE_CPP11 in util_types.h in order to avoid this rather obscure condition happening allover the place, but the issue with this is util_types.h is not guaranteed to be included before other includes.
We could introduce util_compiler.h and such checks/defines into there and include this header before checking for C++11.
Or for now we might just not bother and copy-paste longer ifdef :)