LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Enumerations | Functions
Endian.h File Reference
#include "llvm/Support/AlignOf.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/SwapByteOrder.h"
#include "llvm/Support/type_traits.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.

Classes

struct  llvm::support::detail::PickAlignment< T, alignment >
 ::value is either alignment, or alignof(T) if alignment is 0. More...
 
struct  llvm::support::detail::packed_endian_specific_integral< value_type, endian, alignment >
 

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 
 llvm::support
 
 llvm::support::detail
 
 llvm::support::endian
 

Typedefs

typedef
detail::packed_endian_specific_integral
< uint8_t, little, unaligned > 
llvm::support::ulittle8_t
 
typedef
detail::packed_endian_specific_integral
< uint16_t, little, unaligned > 
llvm::support::ulittle16_t
 
typedef
detail::packed_endian_specific_integral
< uint32_t, little, unaligned > 
llvm::support::ulittle32_t
 
typedef
detail::packed_endian_specific_integral
< uint64_t, little, unaligned > 
llvm::support::ulittle64_t
 
typedef
detail::packed_endian_specific_integral
< int8_t, little, unaligned > 
llvm::support::little8_t
 
typedef
detail::packed_endian_specific_integral
< int16_t, little, unaligned > 
llvm::support::little16_t
 
typedef
detail::packed_endian_specific_integral
< int32_t, little, unaligned > 
llvm::support::little32_t
 
typedef
detail::packed_endian_specific_integral
< int64_t, little, unaligned > 
llvm::support::little64_t
 
typedef
detail::packed_endian_specific_integral
< uint8_t, little, aligned > 
llvm::support::aligned_ulittle8_t
 
typedef
detail::packed_endian_specific_integral
< uint16_t, little, aligned > 
llvm::support::aligned_ulittle16_t
 
typedef
detail::packed_endian_specific_integral
< uint32_t, little, aligned > 
llvm::support::aligned_ulittle32_t
 
typedef
detail::packed_endian_specific_integral
< uint64_t, little, aligned > 
llvm::support::aligned_ulittle64_t
 
typedef
detail::packed_endian_specific_integral
< int8_t, little, aligned > 
llvm::support::aligned_little8_t
 
typedef
detail::packed_endian_specific_integral
< int16_t, little, aligned > 
llvm::support::aligned_little16_t
 
typedef
detail::packed_endian_specific_integral
< int32_t, little, aligned > 
llvm::support::aligned_little32_t
 
typedef
detail::packed_endian_specific_integral
< int64_t, little, aligned > 
llvm::support::aligned_little64_t
 
typedef
detail::packed_endian_specific_integral
< uint8_t, big, unaligned > 
llvm::support::ubig8_t
 
typedef
detail::packed_endian_specific_integral
< uint16_t, big, unaligned > 
llvm::support::ubig16_t
 
typedef
detail::packed_endian_specific_integral
< uint32_t, big, unaligned > 
llvm::support::ubig32_t
 
typedef
detail::packed_endian_specific_integral
< uint64_t, big, unaligned > 
llvm::support::ubig64_t
 
typedef
detail::packed_endian_specific_integral
< int8_t, big, unaligned > 
llvm::support::big8_t
 
typedef
detail::packed_endian_specific_integral
< int16_t, big, unaligned > 
llvm::support::big16_t
 
typedef
detail::packed_endian_specific_integral
< int32_t, big, unaligned > 
llvm::support::big32_t
 
typedef
detail::packed_endian_specific_integral
< int64_t, big, unaligned > 
llvm::support::big64_t
 
typedef
detail::packed_endian_specific_integral
< uint8_t, big, aligned > 
llvm::support::aligned_ubig8_t
 
typedef
detail::packed_endian_specific_integral
< uint16_t, big, aligned > 
llvm::support::aligned_ubig16_t
 
typedef
detail::packed_endian_specific_integral
< uint32_t, big, aligned > 
llvm::support::aligned_ubig32_t
 
typedef
detail::packed_endian_specific_integral
< uint64_t, big, aligned > 
llvm::support::aligned_ubig64_t
 
typedef
detail::packed_endian_specific_integral
< int8_t, big, aligned > 
llvm::support::aligned_big8_t
 
typedef
detail::packed_endian_specific_integral
< int16_t, big, aligned > 
llvm::support::aligned_big16_t
 
typedef
detail::packed_endian_specific_integral
< int32_t, big, aligned > 
llvm::support::aligned_big32_t
 
typedef
detail::packed_endian_specific_integral
< int64_t, big, aligned > 
llvm::support::aligned_big64_t
 
typedef
detail::packed_endian_specific_integral
< uint16_t, native, unaligned > 
llvm::support::unaligned_uint16_t
 
typedef
detail::packed_endian_specific_integral
< uint32_t, native, unaligned > 
llvm::support::unaligned_uint32_t
 
typedef
detail::packed_endian_specific_integral
< uint64_t, native, unaligned > 
llvm::support::unaligned_uint64_t
 
typedef
detail::packed_endian_specific_integral
< int16_t, native, unaligned > 
llvm::support::unaligned_int16_t
 
typedef
detail::packed_endian_specific_integral
< int32_t, native, unaligned > 
llvm::support::unaligned_int32_t
 
typedef
detail::packed_endian_specific_integral
< int64_t, native, unaligned > 
llvm::support::unaligned_int64_t
 

Enumerations

enum  llvm::support::endianness { llvm::support::big, llvm::support::little, llvm::support::native }
 
enum  { llvm::support::aligned = 0, llvm::support::unaligned = 1 }
 

Functions

template<typename value_type , endianness endian>
value_type llvm::support::endian::byte_swap (value_type value)
 
template<typename value_type , endianness endian, std::size_t alignment>
value_type llvm::support::endian::read (const void *memory)
 
template<typename value_type , endianness endian, std::size_t alignment>
void llvm::support::endian::write (void *memory, value_type value)