/endian_converter

Template C++11 library for endianness conversion.

Primary LanguageC++MIT LicenseMIT

C++11 Endianness conversion library

This is a header-only template library for conversion of endianness of C++ types.

The library does not utilize common practices of type punning via reinterpret_cast or union (that result in undefined behavior). swap_endian_v, from_native_endian and to_native_endian can be evaluated at compile time if converting an integral type or an enum. Conversion for floating point types and user-defined POD types is possible only at compile time (prior to C++20 at least).

TODO:

  • fill this readme
  • implement long double conversion?