Fix MSVC warnings snafu.

This commit is contained in:
Bartosz Taudul 2022-06-02 22:04:57 +02:00
parent a53c8befdc
commit 958089794b
No known key found for this signature in database
GPG Key ID: B7FE2008B7575DF3

View File

@ -210,19 +210,19 @@ namespace details
}
};
template<typename T>
static inline bool circular_less_than(T a, T b)
{
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable: 4554)
#endif
template<typename T>
static inline bool circular_less_than(T a, T b)
{
static_assert(std::is_integral<T>::value && !std::numeric_limits<T>::is_signed, "circular_less_than is intended to be used only with unsigned integer types");
return static_cast<T>(a - b) > static_cast<T>(static_cast<T>(1) << static_cast<T>(sizeof(T) * CHAR_BIT - 1));
}
#ifdef _MSC_VER
#pragma warning(pop)
#endif
}
template<typename U>
static inline char* align_for(char* ptr)