summaryrefslogtreecommitdiffhomepage
path: root/compat/unroll.hpp
blob: 2b74ed1a905ca35f5f8e4e1bb767bd7e0ffcb75c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#pragma once

namespace floormat {

template<uint32_t Max, typename F>
constexpr CORRADE_ALWAYS_INLINE void unroll(F&& fn)
{
    [&]<size_t... Is>(std::index_sequence<Is...>) {
        (..., fn(std::integral_constant<size_t, Is>{}));
    }(std::make_index_sequence<Max>());
}

} // namespace floormat