From d96189dfc9b49a6031d24000d31b9479a73c4e9e Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 1 Jun 2018 13:07:01 +1000 Subject: C++14 has one of these in the standard library (nw) --- src/emu/devfind.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/emu/devfind.h b/src/emu/devfind.h index e564f0beb1d..91c6b8414d3 100644 --- a/src/emu/devfind.h +++ b/src/emu/devfind.h @@ -38,20 +38,15 @@ template class object_array_finder { private: - template struct indices { }; - template struct range : public range { }; - template struct range<0U, V...> { typedef indices type; }; - template using index_range = typename range::type; - template - object_array_finder(device_t &base, F const &fmt, unsigned start, indices, Param const &... arg) + object_array_finder(device_t &base, F const &fmt, unsigned start, std::integer_sequence, Param const &... arg) : m_tag{ util::string_format(fmt, start + V)... } , m_array{ { base, m_tag[V].c_str(), arg... }... } { } template - object_array_finder(device_t &base, std::array const &tags, indices, Param const &... arg) + object_array_finder(device_t &base, std::array const &tags, std::integer_sequence, Param const &... arg) : m_array{ { base, tags[V], arg... }... } { } @@ -110,7 +105,7 @@ public: /// \sa util::string_format template object_array_finder(device_t &base, F const &fmt, unsigned start, Param const &... arg) - : object_array_finder(base, fmt, start, index_range(), arg...) + : object_array_finder(base, fmt, start, std::make_integer_sequence(), arg...) { } @@ -126,7 +121,7 @@ public: /// all elements. template object_array_finder(device_t &base, std::array const &tags, Param const &... arg) - : object_array_finder(base, tags, index_range(), arg...) + : object_array_finder(base, tags, std::make_integer_sequence(), arg...) { } -- cgit v1.2.3