rasdaman client API  10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
Public Types | Static Public Member Functions | List of all members
r_Endian Class Reference

Class to check the endianness of the host machine and to swap the endianness of types and arrays. More...

#include <endian.hh>

Public Types

enum  r_Endianness { r_Endian_Big , r_Endian_Little }
 endianness identifiers More...
 

Static Public Member Functions

static r_Short swap (r_Short val)
 swap endianness of atomic types More...
 
static r_UShort swap (r_UShort val)
 
static r_Long swap (r_Long val)
 
static r_ULong swap (r_ULong val)
 
static r_Float swap (r_Float val)
 
static r_Double swap (r_Double val)
 
static r_Endianness get_endianness (void)
 query host machine's endianness More...
 
static void swap_array (const r_Primitive_Type *type, r_Bytes size, const void *src, void *dest)
 change the endianness of a linear array of size size and type type More...
 
static void swap_array (r_Bytes size, const r_Octet *src, r_Octet *dest)
 change the endianness of a linear array of size size, type implicit More...
 
static void swap_array (r_Bytes size, const r_Char *src, r_Char *dest)
 
static void swap_array (r_Bytes size, const r_Short *src, r_Short *dest)
 
static void swap_array (r_Bytes size, const r_UShort *src, r_UShort *dest)
 
static void swap_array (r_Bytes size, const r_Long *src, r_Long *dest)
 
static void swap_array (r_Bytes size, const r_ULong *src, r_ULong *dest)
 
static void swap_array (r_Bytes size, const r_Float *src, r_Float *dest)
 
static void swap_array (r_Bytes size, const r_Double *src, r_Double *dest)
 
static void swap_array (r_Bytes size, r_Bytes tsize, const void *src, void *dest)
 change the endianness of a linear array of size size with type size tsize More...
 
static void swap_array (const r_Primitive_Type *type, const r_Minterval &srcDom, const r_Minterval &srcIterDom, const void *src, void *dest, r_ULong step)
 change the endianness of one type member of an array for identical domains for src and dest; step is the increment between cells More...
 
static void swap_array (const r_Base_Type *type, const r_Minterval &srcDom, const r_Minterval &srcIterDom, const void *src, void *dest)
 change the endianness of the entire tile for identical domains for src and dest More...
 
static void swap_array (const r_Primitive_Type *type, const r_Minterval &srcDom, const r_Minterval &srcIterDom, const r_Minterval &destDom, const r_Minterval &destIterDom, const void *src, void *dest, r_ULong step)
 change the endianness of one type member of an array for the generic case; step is the increment between cells. More...
 
static void swap_array (const r_Base_Type *type, const r_Minterval &srcDom, const r_Minterval &srcIterDom, const r_Minterval &destDom, const r_Minterval &destIterDom, const void *src, void *dest)
 change the endianness of the entire tile for the generic case More...
 

Detailed Description

Class to check the endianness of the host machine and to swap the endianness of types and arrays.

Don't instantiate, static members only.

Member Enumeration Documentation

◆ r_Endianness

endianness identifiers

Enumerator
r_Endian_Big 
r_Endian_Little 

Member Function Documentation

◆ get_endianness()

static r_Endianness r_Endian::get_endianness ( void  )
static

query host machine's endianness

◆ swap() [1/6]

static r_Double r_Endian::swap ( r_Double  val)
static

◆ swap() [2/6]

static r_Float r_Endian::swap ( r_Float  val)
static

◆ swap() [3/6]

static r_Long r_Endian::swap ( r_Long  val)
static

◆ swap() [4/6]

static r_Short r_Endian::swap ( r_Short  val)
static

swap endianness of atomic types

◆ swap() [5/6]

static r_ULong r_Endian::swap ( r_ULong  val)
static

◆ swap() [6/6]

static r_UShort r_Endian::swap ( r_UShort  val)
static

◆ swap_array() [1/14]

static void r_Endian::swap_array ( const r_Base_Type type,
const r_Minterval srcDom,
const r_Minterval srcIterDom,
const r_Minterval destDom,
const r_Minterval destIterDom,
const void *  src,
void *  dest 
)
static

change the endianness of the entire tile for the generic case

◆ swap_array() [2/14]

static void r_Endian::swap_array ( const r_Base_Type type,
const r_Minterval srcDom,
const r_Minterval srcIterDom,
const void *  src,
void *  dest 
)
static

change the endianness of the entire tile for identical domains for src and dest

◆ swap_array() [3/14]

static void r_Endian::swap_array ( const r_Primitive_Type type,
const r_Minterval srcDom,
const r_Minterval srcIterDom,
const r_Minterval destDom,
const r_Minterval destIterDom,
const void *  src,
void *  dest,
r_ULong  step 
)
static

change the endianness of one type member of an array for the generic case; step is the increment between cells.

◆ swap_array() [4/14]

static void r_Endian::swap_array ( const r_Primitive_Type type,
const r_Minterval srcDom,
const r_Minterval srcIterDom,
const void *  src,
void *  dest,
r_ULong  step 
)
static

change the endianness of one type member of an array for identical domains for src and dest; step is the increment between cells

◆ swap_array() [5/14]

static void r_Endian::swap_array ( const r_Primitive_Type type,
r_Bytes  size,
const void *  src,
void *  dest 
)
static

change the endianness of a linear array of size size and type type

◆ swap_array() [6/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Char src,
r_Char dest 
)
static

◆ swap_array() [7/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Double src,
r_Double dest 
)
static

◆ swap_array() [8/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Float src,
r_Float dest 
)
static

◆ swap_array() [9/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Long src,
r_Long dest 
)
static

◆ swap_array() [10/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Octet src,
r_Octet dest 
)
static

change the endianness of a linear array of size size, type implicit

◆ swap_array() [11/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_Short src,
r_Short dest 
)
static

◆ swap_array() [12/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_ULong src,
r_ULong dest 
)
static

◆ swap_array() [13/14]

static void r_Endian::swap_array ( r_Bytes  size,
const r_UShort src,
r_UShort dest 
)
static

◆ swap_array() [14/14]

static void r_Endian::swap_array ( r_Bytes  size,
r_Bytes  tsize,
const void *  src,
void *  dest 
)
static

change the endianness of a linear array of size size with type size tsize


The documentation for this class was generated from the following file: