Better MSVC support

* Avoiding use of templated variables.
* Now compling on MSVC with /WX (warnings as errors).
* Fixed all MSVC warnings.
* Fixed MSVC source_groups.
This commit is contained in:
MerryMage 2016-07-18 10:28:17 +01:00
parent bf99ddd065
commit c18a3eeab4
17 changed files with 392 additions and 361 deletions

View file

@ -98,6 +98,10 @@ private:
template<typename FnT, FnT fn>
struct VisitorCaller;
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4800)
#endif
template<typename Visitor, typename ...Args, typename CallRetT, CallRetT (Visitor::*fn)(Args...)>
struct VisitorCaller<CallRetT(Visitor::*)(Args...), fn> {
template<size_t ...iota>
@ -110,6 +114,9 @@ private:
};
}
};
#ifdef _MSC_VER
#pragma warning(pop)
#endif
public:
/**