LittleEndianConversion.h

Classes

LittleEndianConversion -- A class with static functions to convert littleEndian format (full description)

class LittleEndianConversion

Interface

Public Members
static void toLocal (char& to, const void* from)
static void toLocal (unsigned char& to, const void* from)
static void toLocal (short& to, const void* from)
static void toLocal (unsigned short& to, const void* from)
static void toLocal (int& to, const void* from)
static void toLocal (unsigned int& to, const void* from)
static void toLocal (Int64& to, const void* from)
static void toLocal (uInt64& to, const void* from)
static void toLocal (float& to, const void* from)
static void toLocal (double& to, const void* from)
static void toLocal (char* to, const void* from, unsigned int nr)
static void toLocal (unsigned char* to, const void* from, unsigned int nr)
static void toLocal (short* to, const void* from, unsigned int nr)
static void toLocal (unsigned short* to, const void* from, unsigned int nr)
static void toLocal (int* to, const void* from, unsigned int nr)
static void toLocal (unsigned int* to, const void* from, unsigned int nr)
static void toLocal (Int64* to, const void* from, unsigned int nr)
static void toLocal (uInt64* to, const void* from, unsigned int nr)
static void toLocal (float* to, const void* from, unsigned int nr)
static void toLocal (double* to, const void* from, unsigned int nr)
static void fromLocal (void* to, char from)
static void fromLocal (void* to, unsigned char from)
static void fromLocal (void* to, short from)
static void fromLocal (void* to, unsigned short from)
static void fromLocal (void* to, int from)
static void fromLocal (void* to, unsigned int from)
static void fromLocal (void* to, Int64 from)
static void fromLocal (void* to, uInt64 from)
static void fromLocal (void* to, float from)
static void fromLocal (void* to, double from)
static void fromLocal (void* to, const char* from, unsigned int nr)
static void fromLocal (void* to, const unsigned char* from, unsigned int nr)
static void fromLocal (void* to, const short* from, unsigned int nr)
static void fromLocal (void* to, const unsigned short* from, unsigned int nr)
static void fromLocal (void* to, const int* from, unsigned int nr)
static void fromLocal (void* to, const unsigned int* from, unsigned int nr)
static void fromLocal (void* to, const Int64* from, unsigned int nr)
static void fromLocal (void* to, const uInt64* from, unsigned int nr)
static void fromLocal (void* to, const float* from, unsigned int nr)
static void fromLocal (void* to, const double* from, unsigned int nr)
Private Members
LittleEndianConversion()

Description

Review Status

Reviewed By:
Friso Olnon
Date Reviewed:
1996/11/06
Programs:
Tests:

Synopsis

This class is intended to be used as a common class for all classes converting data to/from little-endian format.

Motivation

Sometimes data are stored in little-endian format (e.g. old VAX-data). Instead of putting all these conversion functions in all such classes, it is better to keep them separate to be able to use them elsewhere. However, note that this version handles a long as 4 bytes. On several little-endian machines (e.g. DEC-alpha) a long is 8 bytes, so a special function is needed for them.

To Do

Member Description

static void toLocal (char& to, const void* from)
static void toLocal (unsigned char& to, const void* from)
static void toLocal (short& to, const void* from)
static void toLocal (unsigned short& to, const void* from)
static void toLocal (int& to, const void* from)
static void toLocal (unsigned int& to, const void* from)
static void toLocal (Int64& to, const void* from)
static void toLocal (uInt64& to, const void* from)
static void toLocal (float& to, const void* from)
static void toLocal (double& to, const void* from)

Convert one value from littleEndian format to local format. The from and to buffer should not overlap.

static void toLocal (char* to, const void* from, unsigned int nr)
static void toLocal (unsigned char* to, const void* from, unsigned int nr)
static void toLocal (short* to, const void* from, unsigned int nr)
static void toLocal (unsigned short* to, const void* from, unsigned int nr)
static void toLocal (int* to, const void* from, unsigned int nr)
static void toLocal (unsigned int* to, const void* from, unsigned int nr)
static void toLocal (Int64* to, const void* from, unsigned int nr)
static void toLocal (uInt64* to, const void* from, unsigned int nr)
static void toLocal (float* to, const void* from, unsigned int nr)
static void toLocal (double* to, const void* from, unsigned int nr)

Convert nr values from littleEndian format to local format. The from and to buffer should not overlap.

static void fromLocal (void* to, char from)
static void fromLocal (void* to, unsigned char from)
static void fromLocal (void* to, short from)
static void fromLocal (void* to, unsigned short from)
static void fromLocal (void* to, int from)
static void fromLocal (void* to, unsigned int from)
static void fromLocal (void* to, Int64 from)
static void fromLocal (void* to, uInt64 from)
static void fromLocal (void* to, float from)
static void fromLocal (void* to, double from)

Convert one value from local format to littleEndian format. The from and to buffer should not overlap.

static void fromLocal (void* to, const char* from, unsigned int nr)
static void fromLocal (void* to, const unsigned char* from, unsigned int nr)
static void fromLocal (void* to, const short* from, unsigned int nr)
static void fromLocal (void* to, const unsigned short* from, unsigned int nr)
static void fromLocal (void* to, const int* from, unsigned int nr)
static void fromLocal (void* to, const unsigned int* from, unsigned int nr)
static void fromLocal (void* to, const Int64* from, unsigned int nr)
static void fromLocal (void* to, const uInt64* from, unsigned int nr)
static void fromLocal (void* to, const float* from, unsigned int nr)
static void fromLocal (void* to, const double* from, unsigned int nr)

Convert nr values from local format to littleEndian format. The from and to buffer should not overlap.

LittleEndianConversion()

This class should not be constructed (so declare the constructor private).