Skip to content

Commit 9e9cc92

Browse files
committed
Fix compilation for Visual Studio 12 2013
1 parent 9a17b10 commit 9e9cc92

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

Applications/Cxx/gdcmclean.cxx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,23 @@ std::vector<std::string> split(const std::string &str, char delimiter = ',') {
164164
}
165165
return tokens;
166166
}
167-
// Helper to print tuple elements
168-
template <std::size_t I = 0, typename... Ts>
169-
typename std::enable_if<I == sizeof...(Ts), void>::type print_tuple(
170-
const std::tuple<Ts...> &) {}
171-
172-
template <std::size_t I = 0, typename... Ts>
173-
typename std::enable_if <
174-
I<sizeof...(Ts), void>::type print_tuple(const std::tuple<Ts...> &t) {
175-
if (I > 0) std::cerr << ", ";
176-
std::cerr << std::get<I>(t);
177-
print_tuple<I + 1, Ts...>(t);
167+
template <std::size_t I, std::size_t TupleSize, typename Tuple>
168+
struct print_tuple_helper {
169+
static void print(const Tuple& t) {
170+
if (I > 0) std::cerr << ", ";
171+
std::cerr << std::get<I>(t);
172+
print_tuple_helper<I + 1, TupleSize, Tuple>::print(t);
173+
}
174+
};
175+
176+
template <std::size_t TupleSize, typename Tuple>
177+
struct print_tuple_helper<TupleSize, TupleSize, Tuple> {
178+
static void print(const Tuple&) {}
179+
};
180+
181+
template <typename... Ts>
182+
void print_tuple(const std::tuple<Ts...>& t) {
183+
print_tuple_helper<0, sizeof...(Ts), std::tuple<Ts...>>::print(t);
178184
}
179185
} // namespace
180186

0 commit comments

Comments
 (0)