From a8bb0ad07d9f12d0a01aa9cdc5bae622a8960b62 Mon Sep 17 00:00:00 2001 From: Kp Date: Fri, 5 Jun 2015 02:34:40 +0000 Subject: [PATCH] Use integral_constant for serial constants --- common/include/serial.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/common/include/serial.h b/common/include/serial.h index a02a76a7b..57a770f09 100644 --- a/common/include/serial.h +++ b/common/include/serial.h @@ -41,7 +41,7 @@ class integral_type { static_assert(tt::is_integral::value, "integral_type used on non-integral type"); public: - static const std::size_t maximum_size = sizeof(T); + static constexpr auto maximum_size = tt::integral_constant{}; }; template @@ -49,7 +49,7 @@ class enum_type { static_assert(tt::is_enum::value, "enum_type used on non-enum type"); public: - static const std::size_t maximum_size = sizeof(T); + static constexpr auto maximum_size = tt::integral_constant{}; }; template @@ -93,8 +93,9 @@ class class_type; template class array_type; -struct endian_access +class endian_access { +public: /* * Endian access modes: * - foreign_endian: assume buffered data is foreign endian @@ -185,8 +186,9 @@ message> udt_to_message(const pad_type &); * specialization is missing. */ template -struct missing_udt_specialization +class missing_udt_specialization { +public: missing_udt_specialization() = delete; }; @@ -442,7 +444,7 @@ class message_type : message_dispatch_type::typ typedef message_dispatch_type::type> base_type; typedef typename base_type::effective_type effective_type; public: - static const std::size_t maximum_size = effective_type::maximum_size; + static constexpr auto maximum_size = effective_type::maximum_size; }; template @@ -463,7 +465,7 @@ template class array_type> { public: - static const std::size_t maximum_size = message_type::maximum_size * N; + static constexpr auto maximum_size = tt::integral_constant::maximum_size * N>{}; }; template @@ -476,7 +478,7 @@ class message_type> { public: typedef message as_message; - static const std::size_t maximum_size = message_type::maximum_size + message_type>::maximum_size; + static constexpr auto maximum_size = tt::integral_constant::maximum_size + message_type>::maximum_size>{}; }; template