Odil
A C++11 library for the DICOM standard
Namespaces | Macros | Enumerations | Functions | Variables
endian.h File Reference
#include "odil/odil.h"
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

namespace  odil
 

Macros

#define ODIL_SWAP
 

Enumerations

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

Functions

ByteOrdering odil::get_endianness ()
 
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)
 

Variables

ByteOrdering const odil::byte_ordering
 

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; \
}