Merge pull request #2030 from Areloch/2017TemplateFix

VS2017 compiler workaround
This commit is contained in:
Areloch 2017-07-05 22:29:23 -05:00 committed by Areloch
parent 8684cd1a65
commit 763504f275

View file

@ -108,7 +108,17 @@ private:
std::tie(std::get<I + (sizeof...(ArgTs) - sizeof...(TailTs))>(args)...) = defaultArgs;
}
#ifdef _MSC_VER == 1910
template<typename ...TailTs>
struct DodgyVCHelper
{
using type = typename std::enable_if<sizeof...(TailTs) <= sizeof...(ArgTs), decltype(mArgs)>::type;
};
template<typename ...TailTs> using MaybeSelfEnabled = typename DodgyVCHelper<TailTs...>::type;
#else
template<typename ...TailTs> using MaybeSelfEnabled = typename std::enable_if<sizeof...(TailTs) <= sizeof...(ArgTs), decltype(mArgs)>::type;
#endif
template<typename ...TailTs> static MaybeSelfEnabled<TailTs...> tailInit(TailTs ...tail) {
std::tuple<DefVST<ArgTs>...> argsT;