Isis 3 Programmer Reference
EndianSwapper.h
1#ifndef EndianSwapper_h
2#define EndianSwapper_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include "IException.h"
11
12namespace Isis {
13
39 private:
47
53 union {
55 uint32_t p_uint32;
57 double p_double;
59 float p_float;
61 int p_int;
63 long long int p_longLongInt;
65 short int p_shortInt;
70 unsigned short int p_uShortInt;
72 char p_char[8];
74
75 public:
76 EndianSwapper(QString inputEndian);
78 double Double(void *buf);
79 float Float(void *buf);
80 int ExportFloat(void *buf);
81 int Int(void *buf);
82 uint32_t Uint32_t(void *buf);
83 long long int LongLongInt(void *buf);
84 short int ShortInt(void *buf);
85 unsigned short int UnsignedShortInt(void *buf);
86 bool willSwap() const {
87 return p_needSwap;
88 }
89 };
90};
91
92#endif
float Float(void *buf)
Swaps a floating point value.
int p_int
Union containing the output 4 byte integer value with swapped bytes.
short int ShortInt(void *buf)
Swaps a short integer value.
short int p_shortInt
Union containing the output 2 byte integer value with swapped bytes.
int p_swapDirection
Indicates which direction to increment the pointer for swapping.
long long int LongLongInt(void *buf)
Swaps an 8 byte integer value.
~EndianSwapper()
Destroys the EndianSwapper object.
int Int(void *buf)
Swaps a 4 byte integer value.
float p_float
Union containing the output floating point value with swapped bytes.
uint32_t Uint32_t(void *buf)
Swaps a 32bit unsigned integer.
uint32_t p_uint32
Union containing the output uint32_t value with swapped bytes.
union Isis::EndianSwapper::@0 p_swapper
Union containing the output double precision value, floating point value, short integer value,...
unsigned short int UnsignedShortInt(void *buf)
Swaps an unsigned short integer value.
double p_double
Union containing the output double precision value with swapped bytes.
EndianSwapper(QString inputEndian)
Constructs an EndianSwapper object, determining whether swapping of bytes actually needs to occur and...
unsigned short int p_uShortInt
Union containing the output unsigned short integer value with swapped bytes.
bool p_needSwap
Indicates whether bytes need to be swapped.
char p_char[8]
Union containing the output value in byte format.
int ExportFloat(void *buf)
Swaps a floating point value for Exporting.
long long int p_longLongInt
Union containing the output 8 byte integer value with swapped bytes.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16