Odil
A C++11 library for the DICOM standard
Namespaces | Macros | Enumerations | Functions
endian.h File Reference
#include <boost/detail/endian.hpp>
Include dependency graph for endian.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 odil
 

Macros

#define ODIL_SWAP
 

Enumerations

enum  odil::ByteOrdering { odil::ByteOrdering::LittleEndian, odil::ByteOrdering::BigEndian }
 

Functions

template<typename T >
odil::host_to_big_endian (T const &value)
 
template<typename T >
odil::host_to_little_endian (T const &value)
 
template<typename T >
odil::big_endian_to_host (T const &value)
 
template<typename T >
odil::little_endian_to_host (T const &value)
 

Macro Definition Documentation

◆ ODIL_SWAP

#define ODIL_SWAP
Value:
auto source = reinterpret_cast<char const *>(&value); \
auto const end = source + sizeof(value); \
T result; \
auto destination = reinterpret_cast<char *>(&result) + sizeof(result) - 1; \
while(source != end) \
{ \
*destination = *source; \
++source; \
--destination; \
}