Mercurial > code
changeset 267:bc9b5e7421a7
Pack:
* Remove endian from TypeInfo
* Don't use rvalue and perfect forwarding
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 14 Oct 2014 13:14:36 +0200 |
parents | 41bdde9027c0 |
children | b5d795389387 |
files | C++/Pack.h |
diffstat | 1 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/C++/Pack.h Tue Oct 14 12:59:10 2014 +0200 +++ b/C++/Pack.h Tue Oct 14 13:14:36 2014 +0200 @@ -76,7 +76,7 @@ static_assert(TypeInfo<T>::supported, "unsupported type"); if (endian != mode) - return TypeInfo<T>::convert(value, endian); + return TypeInfo<T>::convert(value); return value; } @@ -156,7 +156,7 @@ * @throw std::runtime_exception on error */ template <typename... Args> - static void read(const std::string &path, Endian endian, Args&&... args) + static void read(const std::string &path, Endian endian, Args&... args) { std::ifstream in; @@ -173,7 +173,7 @@ static constexpr const bool supported = true; static constexpr const size_t size = sizeof (uint8_t); - static constexpr uint8_t convert(uint8_t v, Endian endian) + static constexpr uint8_t convert(uint8_t v) { return v; } @@ -184,7 +184,7 @@ static constexpr const bool supported = true; static constexpr const size_t size = sizeof (uint16_t); - static constexpr uint16_t convert(uint16_t v, Endian endian) + static constexpr uint16_t convert(uint16_t v) { return (((v >> 8) & 0x00FFL) | ((v << 8) & 0xFF00L)); } @@ -195,7 +195,7 @@ static constexpr const bool supported = true; static constexpr const size_t size = sizeof (uint32_t); - static constexpr uint32_t convert(uint32_t v, Endian endian) + static constexpr uint32_t convert(uint32_t v) { return ((((v) >> 24) & 0x000000FFL) | (((v) >> 8) & 0x0000FF00L) @@ -209,7 +209,7 @@ static constexpr const bool supported = true; static constexpr const size_t size = sizeof (uint64_t); - static constexpr uint64_t convert(uint64_t v, Endian endian) + static constexpr uint64_t convert(uint64_t v) { return ((((v) & 0xff00000000000000ull) >> 56) | (((v) & 0x00ff000000000000ull) >> 40)