@@ -47,8 +47,8 @@ using std::bit_cast;
4747
4848#if __cpp_lib_byteswap < 202110L
4949template <typename T>
50- [[nodiscard]] constexpr auto
51- byteswap (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
50+ [[nodiscard]] constexpr auto byteswap (T x) noexcept
51+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
5252 if constexpr (sizeof (T) == sizeof (std::uint16_t )) {
5353 return __builtin_bswap16 (x);
5454 } else if constexpr (sizeof (T) == sizeof (std::uint32_t )) {
@@ -67,8 +67,8 @@ using std::byteswap;
6767
6868#if __cpp_lib_bitops < 201907L
6969template <typename T>
70- [[nodiscard]] constexpr auto
71- countl_zero (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
70+ [[nodiscard]] constexpr auto countl_zero (T x) noexcept
71+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
7272 if (x == 0 ) {
7373 return std::numeric_limits<T>::digits;
7474 }
@@ -88,8 +88,8 @@ countl_zero(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
8888}
8989
9090template <typename T>
91- [[nodiscard]] constexpr auto
92- countr_zero (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
91+ [[nodiscard]] constexpr auto countr_zero (T x) noexcept
92+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
9393 if (x == 0 ) {
9494 return std::numeric_limits<T>::digits;
9595 }
@@ -104,20 +104,20 @@ countr_zero(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
104104}
105105
106106template <typename T>
107- [[nodiscard]] constexpr auto
108- countl_one (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
107+ [[nodiscard]] constexpr auto countl_one (T x) noexcept
108+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
109109 return countl_zero (T (~x));
110110}
111111
112112template <typename T>
113- [[nodiscard]] constexpr auto
114- countr_one (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
113+ [[nodiscard]] constexpr auto countr_one (T x) noexcept
114+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
115115 return countr_zero (T (~x));
116116}
117117
118118template <typename T>
119- [[nodiscard]] constexpr auto
120- popcount (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
119+ [[nodiscard]] constexpr auto popcount (T x) noexcept
120+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
121121 if constexpr (sizeof (T) <= sizeof (unsigned int )) {
122122 return __builtin_popcount (x);
123123 } else if constexpr (sizeof (T) <=
@@ -130,8 +130,8 @@ popcount(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
130130
131131namespace detail {
132132template <typename T>
133- [[nodiscard]] constexpr auto
134- rotl (T x, T s) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
133+ [[nodiscard]] constexpr auto rotl (T x, T s) noexcept
134+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
135135#ifdef __clang__
136136 if constexpr (sizeof (T) == sizeof (std::uint8_t )) {
137137 return __builtin_rotateleft8 (x, s);
@@ -148,8 +148,8 @@ rotl(T x, T s) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
148148#endif
149149}
150150template <typename T>
151- [[nodiscard]] constexpr auto
152- rotr (T x, T s) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
151+ [[nodiscard]] constexpr auto rotr (T x, T s) noexcept
152+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
153153#ifdef __clang__
154154 if constexpr (sizeof (T) == sizeof (std::uint8_t )) {
155155 return __builtin_rotateright8 (x, s);
@@ -168,8 +168,8 @@ rotr(T x, T s) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
168168} // namespace detail
169169
170170template <typename T>
171- [[nodiscard]] constexpr auto
172- rotl (T x, int s) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
171+ [[nodiscard]] constexpr auto rotl (T x, int s) noexcept
172+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
173173 if (s == 0 ) {
174174 return x;
175175 }
@@ -180,8 +180,8 @@ rotl(T x, int s) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
180180}
181181
182182template <typename T>
183- [[nodiscard]] constexpr auto
184- rotr (T x, int s) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
183+ [[nodiscard]] constexpr auto rotr (T x, int s) noexcept
184+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
185185 if (s == 0 ) {
186186 return x;
187187 }
@@ -204,29 +204,29 @@ using std::rotr;
204204
205205#if __cpp_lib_int_pow2 < 202002L
206206template <typename T>
207- [[nodiscard]] constexpr auto
208- has_single_bit (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, bool> {
207+ [[nodiscard]] constexpr auto has_single_bit (T x) noexcept
208+ -> std::enable_if_t<std::is_unsigned_v<T>, bool> {
209209 return x and not (x & (x - 1 ));
210210}
211211
212212template <typename T>
213- [[nodiscard]] constexpr auto
214- bit_width (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, int> {
213+ [[nodiscard]] constexpr auto bit_width (T x) noexcept
214+ -> std::enable_if_t<std::is_unsigned_v<T>, int> {
215215 return std::numeric_limits<T>::digits - countl_zero (x);
216216}
217217
218218template <typename T>
219- [[nodiscard]] constexpr auto
220- bit_ceil (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
219+ [[nodiscard]] constexpr auto bit_ceil (T x) noexcept
220+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
221221 if (x <= 1U ) {
222222 return 1U ;
223223 }
224224 return T (1U << bit_width (x));
225225}
226226
227227template <typename T>
228- [[nodiscard]] constexpr auto
229- bit_floor (T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
228+ [[nodiscard]] constexpr auto bit_floor (T x) noexcept
229+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
230230 if (x == 0 ) {
231231 return x;
232232 }
@@ -240,8 +240,8 @@ using std::has_single_bit;
240240#endif
241241
242242template <typename T>
243- [[nodiscard]] constexpr auto
244- to_le (T x) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
243+ [[nodiscard]] constexpr auto to_le (T x) noexcept
244+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
245245 if constexpr (stdx::endian::native == stdx::endian::big) {
246246 return byteswap (x);
247247 } else {
@@ -250,8 +250,8 @@ to_le(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
250250}
251251
252252template <typename T>
253- [[nodiscard]] constexpr auto
254- to_be (T x) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
253+ [[nodiscard]] constexpr auto to_be (T x) noexcept
254+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
255255 if constexpr (stdx::endian::native == stdx::endian::little) {
256256 return byteswap (x);
257257 } else {
@@ -260,8 +260,8 @@ to_be(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
260260}
261261
262262template <typename T>
263- [[nodiscard]] constexpr auto
264- from_le (T x) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
263+ [[nodiscard]] constexpr auto from_le (T x) noexcept
264+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
265265 if constexpr (stdx::endian::native == stdx::endian::big) {
266266 return byteswap (x);
267267 } else {
@@ -270,8 +270,8 @@ from_le(T x) noexcept -> std::enable_if_t<std::is_unsigned_v<T>, T> {
270270}
271271
272272template <typename T>
273- [[nodiscard]] constexpr auto
274- from_be (T x) noexcept -> std::enable_if_t <std::is_unsigned_v<T>, T> {
273+ [[nodiscard]] constexpr auto from_be (T x) noexcept
274+ -> std::enable_if_t<std::is_unsigned_v<T>, T> {
275275 if constexpr (stdx::endian::native == stdx::endian::little) {
276276 return byteswap (x);
277277 } else {
@@ -341,8 +341,8 @@ template <typename To, typename From> constexpr auto bit_unpack(From arg) {
341341
342342namespace detail {
343343template <typename T, std::size_t Bit>
344- constexpr auto
345- mask_bits () -> std::enable_if_t <Bit <= std::numeric_limits<T>::digits, T> {
344+ constexpr auto mask_bits ()
345+ -> std::enable_if_t<Bit <= std::numeric_limits<T>::digits, T> {
346346 if constexpr (Bit == std::numeric_limits<T>::digits) {
347347 return std::numeric_limits<T>::max ();
348348 } else {
0 commit comments