mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-05-04 10:15:42 -04:00
Common/DimensionalArray: Work around VC2017 issue
This commit is contained in:
parent
068b244303
commit
a68bbb3e85
@ -30,16 +30,16 @@ template<typename T, std::size_t rank, std::size_t... sizes>
|
|||||||
struct DimensionalArrayExplicitRank;
|
struct DimensionalArrayExplicitRank;
|
||||||
|
|
||||||
template<std::size_t rank, std::size_t... sizes>
|
template<std::size_t rank, std::size_t... sizes>
|
||||||
constexpr std::size_t GetRankSize()
|
struct GetRankSize
|
||||||
{
|
{
|
||||||
constexpr std::size_t size_array[] = {sizes...};
|
static constexpr std::size_t size_array[] = {sizes...};
|
||||||
return size_array[rank - 1];
|
static constexpr std::size_t value = size_array[rank - 1];
|
||||||
}
|
};
|
||||||
|
|
||||||
template<typename T, std::size_t rank, std::size_t... sizes>
|
template<typename T, std::size_t rank, std::size_t... sizes>
|
||||||
using GetArrayImplType =
|
using GetArrayImplType =
|
||||||
std::array<std::conditional_t<rank == 1, T, DimensionalArrayExplicitRank<T, rank - 1, sizes...>>,
|
std::array<std::conditional_t<rank == 1, T, DimensionalArrayExplicitRank<T, rank - 1, sizes...>>,
|
||||||
GetRankSize<rank, sizes...>()>;
|
GetRankSize<rank, sizes...>::value>;
|
||||||
|
|
||||||
template<typename T, std::size_t rank_param, std::size_t... sizes>
|
template<typename T, std::size_t rank_param, std::size_t... sizes>
|
||||||
struct DimensionalArrayExplicitRank : public GetArrayImplType<T, rank_param, sizes...>
|
struct DimensionalArrayExplicitRank : public GetArrayImplType<T, rank_param, sizes...>
|
||||||
@ -77,4 +77,3 @@ struct DimensionalArrayExplicitRank : public GetArrayImplType<T, rank_param, siz
|
|||||||
|
|
||||||
template<typename T, std::size_t... sizes>
|
template<typename T, std::size_t... sizes>
|
||||||
using DimensionalArray = detail::DimensionalArrayExplicitRank<T, sizeof...(sizes), sizes...>;
|
using DimensionalArray = detail::DimensionalArrayExplicitRank<T, sizeof...(sizes), sizes...>;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user