aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil MacIntosh <neilmac@microsoft.com>2016-09-13 14:30:02 -0700
committerNeil MacIntosh <neilmac@microsoft.com>2016-09-13 14:30:02 -0700
commitedceed8075e14c86aac7f86347331aafac122c30 (patch)
tree65015f29b65ecee48b66666992643908e296ec4b
parent6bc1e7e709060528a7969e0bc8bd10960594f6b2 (diff)
downloadplatform_external_Microsoft-GSL-edceed8075e14c86aac7f86347331aafac122c30.tar.gz
platform_external_Microsoft-GSL-edceed8075e14c86aac7f86347331aafac122c30.tar.bz2
platform_external_Microsoft-GSL-edceed8075e14c86aac7f86347331aafac122c30.zip
Adding inline to all byte-related functions for MSVC 2013.
-rw-r--r--gsl/gsl_byte20
1 files changed, 10 insertions, 10 deletions
diff --git a/gsl/gsl_byte b/gsl/gsl_byte
index bee1092..ab5e4e3 100644
--- a/gsl/gsl_byte
+++ b/gsl/gsl_byte
@@ -26,7 +26,7 @@
// constexpr is not understood
#pragma push_macro("constexpr")
-#define constexpr /*constexpr*/
+#define constexpr /*constexpr*/
// noexcept is not understood
#pragma push_macro("noexcept")
@@ -45,25 +45,25 @@ enum class byte : unsigned char
};
template <class IntegerType, class = std::enable_if_t<std::is_integral<IntegerType>::value>>
-constexpr byte& operator<<=(byte& b, IntegerType shift) noexcept
+inline constexpr byte& operator<<=(byte& b, IntegerType shift) noexcept
{
return b = byte(static_cast<unsigned char>(b) << shift);
}
template <class IntegerType, class = std::enable_if_t<std::is_integral<IntegerType>::value>>
-constexpr byte operator<<(byte b, IntegerType shift) noexcept
+inline constexpr byte operator<<(byte b, IntegerType shift) noexcept
{
return byte(static_cast<unsigned char>(b) << shift);
}
template <class IntegerType, class = std::enable_if_t<std::is_integral<IntegerType>::value>>
-constexpr byte& operator>>=(byte& b, IntegerType shift) noexcept
+inline constexpr byte& operator>>=(byte& b, IntegerType shift) noexcept
{
return b = byte(static_cast<unsigned char>(b) >> shift);
}
template <class IntegerType, class = std::enable_if_t<std::is_integral<IntegerType>::value>>
-constexpr byte operator>>(byte b, IntegerType shift) noexcept
+inline constexpr byte operator>>(byte b, IntegerType shift) noexcept
{
return byte(static_cast<unsigned char>(b) >> shift);
}
@@ -101,13 +101,13 @@ inline constexpr byte operator^(byte l, byte r) noexcept
inline constexpr byte operator~(byte b) noexcept { return byte(~static_cast<unsigned char>(b)); }
template <class IntegerType, class = std::enable_if_t<std::is_integral<IntegerType>::value>>
-constexpr IntegerType to_integer(byte b) noexcept
+inline constexpr IntegerType to_integer(byte b) noexcept
{
return {b};
}
template<bool E, typename T>
-constexpr byte to_byte_impl(T t) noexcept
+inline constexpr byte to_byte_impl(T t) noexcept
{
static_assert(
E,
@@ -117,19 +117,19 @@ constexpr byte to_byte_impl(T t) noexcept
return static_cast<byte>(t);
}
template<>
-constexpr byte to_byte_impl<true, unsigned char>(unsigned char t) noexcept
+inline constexpr byte to_byte_impl<true, unsigned char>(unsigned char t) noexcept
{
return byte(t);
}
template<typename T>
-constexpr byte to_byte(T t) noexcept
+inline constexpr byte to_byte(T t) noexcept
{
return to_byte_impl<std::is_same<T, unsigned char>::value, T>(t);
}
template <int I>
-constexpr byte to_byte() noexcept
+inline constexpr byte to_byte() noexcept
{
static_assert(I >= 0 && I <= 255, "gsl::byte only has 8 bits of storage, values must be in range 0-255");
return static_cast<byte>(I);