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: