Browse Source

MSVC 2013 compatibility: work around internal compiler error.

Vladimír Vondruš 12 years ago
parent
commit
3da924f2fa
  1. 3
      src/Magnum/MeshTools/Interleave.h

3
src/Magnum/MeshTools/Interleave.h

@ -47,7 +47,8 @@ namespace Implementation {
cyclic dependencies) */
struct AttributeCount {
template<class T, class ...U> typename std::enable_if<!std::is_convertible<T, std::size_t>::value, std::size_t>::type operator()(const T& first, const U&... next) const {
CORRADE_ASSERT(sizeof...(next) == 0 || AttributeCount{}(next...) == first.size() || AttributeCount{}(next...) == ~std::size_t(0), "MeshTools::interleave(): attribute arrays don't have the same length, expected" << first.size() << "but got" << AttributeCount{}(next...), 0);
/* {} causes ICE in MSVC 2013 */
CORRADE_ASSERT(sizeof...(next) == 0 || AttributeCount()(next...) == first.size() || AttributeCount()(next...) == ~std::size_t(0), "MeshTools::interleave(): attribute arrays don't have the same length, expected" << first.size() << "but got" << AttributeCount()(next...), 0);
return first.size();
}

Loading…
Cancel
Save