From 6c00b65eb45b5a82ce95fa7d5f1c401157abeb3f Mon Sep 17 00:00:00 2001 From: Beman Date: Sun, 12 May 2013 11:31:32 -0400 Subject: [PATCH] Add light test of modify-in-place interface --- include/boost/endian/converters.hpp | 5 ++--- test/converter_test.cpp | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/include/boost/endian/converters.hpp b/include/boost/endian/converters.hpp index af6c43a..0d43775 100644 --- a/include/boost/endian/converters.hpp +++ b/include/boost/endian/converters.hpp @@ -100,11 +100,10 @@ namespace endian // reverse unless native endianness is big template - inline void big_endianx(T& x) BOOST_NOEXCEPT; + inline void big_endian(T& x) BOOST_NOEXCEPT; // Effects: none if native endian order is big, otherwise reverse(x) // reverse unless native endianness is little - // possible names: reverse_unless_native_little, reverse_bytes_unless_little, reverse_unless_little template inline void little_endian(T& x) BOOST_NOEXCEPT; // Effects: none if native endian order is little, otherwise reverse(x); @@ -383,7 +382,7 @@ namespace endian // reverse unless native endianness is big template - inline void big_endianx(T& x) BOOST_NOEXCEPT + inline void big_endian(T& x) BOOST_NOEXCEPT { # ifndef BOOST_BIG_ENDIAN reverse(x); diff --git a/test/converter_test.cpp b/test/converter_test.cpp index 609e8bb..c61a4b3 100644 --- a/test/converter_test.cpp +++ b/test/converter_test.cpp @@ -170,7 +170,32 @@ namespace BOOST_TEST_EQ((be::convert_value(little, be::order::little, be::order::native)), native); BOOST_TEST_EQ((be::convert_value(native, be::order::native, be::order::big)), big); BOOST_TEST_EQ((be::convert_value(native, be::order::native, be::order::little)), native); - } + + // light test of modify-in-place functions + + T x; + + x = big; be::reverse(x); BOOST_TEST_EQ(x, little); + x = big; be::convert(x); BOOST_TEST_EQ(x, little); + x = big; be::convert(x, be::order::big, be::order::little); BOOST_TEST_EQ(x, little); + +# ifdef BOOST_BIG_ENDIAN + x = native; be::big_endian(x); BOOST_TEST_EQ(x, big); + x = big; be::big_endian(x); BOOST_TEST_EQ(x, big); + x = little; be::big_endian(x); BOOST_TEST_EQ(x, little); + x = native; be::little_endian(x); BOOST_TEST_EQ(x, little); + x = big; be::little_endian(x); BOOST_TEST_EQ(x, little); + x = little; be::little_endian(x); BOOST_TEST_EQ(x, big); +# else + x = native; be::big_endian(x); BOOST_TEST_EQ(x, big); + x = big; be::big_endian(x); BOOST_TEST_EQ(x, little); + x = little; be::big_endian(x); BOOST_TEST_EQ(x, big); + x = native; be::little_endian(x); BOOST_TEST_EQ(x, little); + x = big; be::little_endian(x); BOOST_TEST_EQ(x, big); + x = little; be::little_endian(x); BOOST_TEST_EQ(x, little); +# endif + + } } // unnamed namespace int cpp_main(int, char * [])