diff --git a/doc/types.html b/doc/types.html index 3fb31ef..1067465 100644 --- a/doc/types.html +++ b/doc/types.html @@ -223,108 +223,122 @@ conventions for common use cases:

Name Endianness + Alignment Sign Sizes in bits (n) - Alignment big_align_intn_t big + yes signed 16,32,64 - yes big_align_uintn_t big + yes unsigned 16,32,64 - yes big_align_floatn_t big + yes signed 32,64 - yes - - - little_align_intn_t - little - signed - 16,32,64 - yes - - - little_align_uintn_t - little - unsigned - 16,32,64 - yes - - - little_align_floatn_t - little - signed - 32,64 - yes big_intn_t big + no signed 8,16,24,32,40,48,56,64 - no - + - big_uintn_t + big_uintn_t big + no unsigned 8,16,24,32,40,48,56,64 - no - + big_floatn_t big + no + signed + 32,64 + + + little_align_intn_t + little + yes + signed + 16,32,64 + + + little_align_uintn_t + little + yes + unsigned + 16,32,64 + + + little_align_floatn_t + little + yes signed 32,64 - no little_intn_t little + no signed 8,16,24,32,40,48,56,64 - no little_uintn_t little + no unsigned 8,16,24,32,40,48,56,64 - no little_floatn_t little + no signed 32,64 - no + + native_align_floatn_t + native + yes + signed + 32,64 + native_intn_t native + no signed 8,16,24,32,40,48,56,64 - no native_uintn_t native + no unsigned 8,16,24,32,40,48,56,64 - no + + native_floatn_t + native + no + signed + 32,64 +

The unaligned types do not cause compilers to insert padding bytes in classes @@ -628,7 +642,7 @@ differs from endian representation size. Vicente Botet and other reviewers suggested supporting floating point types.


Last revised: -12 August, 2014

+13 August, 2014

© Copyright Beman Dawes, 2006-2009, 2013

Distributed under the Boost Software License, Version 1.0. See www.boost.org/ LICENSE_1_0.txt

diff --git a/include/boost/endian/types.hpp b/include/boost/endian/types.hpp index 0298258..22c94fa 100644 --- a/include/boost/endian/types.hpp +++ b/include/boost/endian/types.hpp @@ -194,9 +194,11 @@ namespace endian typedef big_uint56_t native_uint56_t; typedef big_uint64_t native_uint64_t; - // unaligned native endian floating point types + // native endian floating point types typedef big_float32_t native_float32_t; typedef big_float64_t native_float64_t; + typedef big_align_float32_t native_align_float32_t; + typedef big_align_float64_t native_align_float64_t; # else // unaligned native endian signed integer types typedef little_int8_t native_int8_t; @@ -218,9 +220,11 @@ namespace endian typedef little_uint56_t native_uint56_t; typedef little_uint64_t native_uint64_t; - // unaligned native endian floating point types + // native endian floating point types typedef little_float32_t native_float32_t; typedef little_float64_t native_float64_t; + typedef little_align_float32_t native_align_float32_t; + typedef little_align_float64_t native_align_float64_t; # endif } // namespace boost } // namespace endian