diff --git a/doc/endian/arithmetic.adoc b/doc/endian/arithmetic.adoc index 6d9743e..891a3a6 100644 --- a/doc/endian/arithmetic.adoc +++ b/doc/endian/arithmetic.adoc @@ -297,6 +297,10 @@ namespace boost typedef endian_arithmetic big_uint56_t; typedef endian_arithmetic big_uint64_t; + // unaligned big endian floating point types + typedef endian_arithmetic big_float32_t; + typedef endian_arithmetic big_float64_t; + // unaligned little endian signed integer types typedef endian_arithmetic little_int8_t; typedef endian_arithmetic little_int16_t; @@ -317,6 +321,10 @@ namespace boost typedef endian_arithmetic little_uint56_t; typedef endian_arithmetic little_uint64_t; + // unaligned little endian floating point types + typedef endian_arithmetic little_float32_t; + typedef endian_arithmetic little_float64_t; + // unaligned native endian signed integer types typedef implementation-defined_int8_t native_int8_t; typedef implementation-defined_int16_t native_int16_t; @@ -337,6 +345,10 @@ namespace boost typedef implementation-defined_uint56_t native_uint56_t; typedef implementation-defined_uint64_t native_uint64_t; + // unaligned native endian floating point types + typedef implementation-defined_float32_t native_float32_t; + typedef implementation-defined_float64_t native_float64_t; + // aligned big endian signed integer types typedef endian_arithmetic big_int8_at; typedef endian_arithmetic big_int16_at; @@ -349,6 +361,10 @@ namespace boost typedef endian_arithmetic big_uint32_at; typedef endian_arithmetic big_uint64_at; + // aligned big endian floating point types + typedef endian_arithmetic big_float32_at; + typedef endian_arithmetic big_float64_at; + // aligned little endian signed integer types typedef endian_arithmetic little_int8_at; typedef endian_arithmetic little_int16_at; @@ -361,6 +377,10 @@ namespace boost typedef endian_arithmetic little_uint32_at; typedef endian_arithmetic little_uint64_at; + // aligned little endian floating point types + typedef endian_arithmetic little_float32_at; + typedef endian_arithmetic little_float64_at; + // aligned native endian typedefs are not provided because // types are superior for that use case @@ -420,7 +440,8 @@ operator T() const noexcept; [none] * {blank} + -Returns:: `value()`. +Returns:: + `value()`. ### Other operators diff --git a/doc/endian/buffers.adoc b/doc/endian/buffers.adoc index 258b1ec..a9ca02e 100644 --- a/doc/endian/buffers.adoc +++ b/doc/endian/buffers.adoc @@ -78,7 +78,7 @@ int main(int, char* []) // Low-level I/O such as POSIX read/write or // fread/fwrite is sometimes used for binary file operations // when ultimate efficiency is important. Such I/O is often - // performed in some {cpp} wrapper class, but to drive home the + // performed in some C++ wrapper class, but to drive home the // point that endian integers are often used in fairly // low-level code that does bulk I/O operations, // fopen/fwrite is used for I/O in this example. @@ -275,6 +275,10 @@ namespace boost typedef endian_buffer big_uint56_buf_t; typedef endian_buffer big_uint64_buf_t; + // unaligned big endian floating point buffers + typedef endian_buffer big_float32_buf_t; + typedef endian_buffer big_float64_buf_t; + // unaligned little endian signed integer buffers typedef endian_buffer little_int8_buf_t; typedef endian_buffer little_int16_buf_t; @@ -295,6 +299,10 @@ namespace boost typedef endian_buffer little_uint56_buf_t; typedef endian_buffer little_uint64_buf_t; + // unaligned little endian floating point buffers + typedef endian_buffer little_float32_buf_t; + typedef endian_buffer little_float64_buf_t; + // unaligned native endian signed integer types typedef implementation-defined_int8_buf_t native_int8_buf_t; typedef implementation-defined_int16_buf_t native_int16_buf_t; @@ -315,6 +323,10 @@ namespace boost typedef implementation-defined_uint56_buf_t native_uint56_buf_t; typedef implementation-defined_uint64_buf_t native_uint64_buf_t; + // unaligned native endian floating point types + typedef implementation-defined_float32_buf_t native_float32_buf_t; + typedef implementation-defined_float64_buf_t native_float64_buf_t; + // aligned big endian signed integer buffers typedef endian_buffer big_int8_buf_at; typedef endian_buffer big_int16_buf_at; @@ -327,6 +339,10 @@ namespace boost typedef endian_buffer big_uint32_buf_at; typedef endian_buffer big_uint64_buf_at; + // aligned big endian floating point buffers + typedef endian_buffer big_float32_buf_at; + typedef endian_buffer big_float64_buf_at; + // aligned little endian signed integer buffers typedef endian_buffer little_int8_buf_at; typedef endian_buffer little_int16_buf_at; @@ -339,6 +355,10 @@ namespace boost typedef endian_buffer little_uint32_buf_at; typedef endian_buffer little_uint64_buf_at; + // aligned little endian floating point buffers + typedef endian_buffer little_float32_buf_at; + typedef endian_buffer little_float64_buf_at; + // aligned native endian typedefs are not provided because // types are superior for this use case @@ -410,7 +430,8 @@ const char* data() const noexcept; [none] * {blank} + -Returns:: A pointer to the first byte of `value_`. +Returns:: + A pointer to the first byte of `value_`. ### Non-member functions diff --git a/doc/endian/changelog.adoc b/doc/endian/changelog.adoc index 09ef7ca..f92a59e 100644 --- a/doc/endian/changelog.adoc +++ b/doc/endian/changelog.adoc @@ -15,6 +15,7 @@ http://www.boost.org/LICENSE_1_0.txt * Made `endian_reverse`, `conditional_reverse` and `\*\_to_*` `constexpr` on GCC and Clang * Added convenience load and store functions +* Added floating point convenience typedefs ## Changes in 1.71.0