Go to the source code of this file.
bool bIsLittleEndian |
( |
void |
| ) |
|
template<typename T >
static T mbswap |
( |
const T |
in | ) |
|
|
static |
Definition at line 91 of file bufmod.h.
93 const char *pin = (
const char *)∈
95 char *pout = (
char *)&out;
97 for (
unsigned int i = 0; i <
sizeof(T)/2; i++) {
98 pout[i] = pin[
sizeof(T) - 1 - i];
99 pout[
sizeof(T) - 1 - i] = pin[i];
template<int8_t >
static int8_t mbswap |
( |
const int8_t |
in | ) |
|
|
static |
template<uint8_t >
static uint8_t mbswap |
( |
const uint8_t |
in | ) |
|
|
static |
Definition at line 287 of file bufmod.cc.
References bIsLittleEndian(), BufCast::copy(), HighParser::GetYesNoOrBool(), HighParser::IsKeyWord(), HighParser::IsWord(), ReadOneBufCast(), and SwapMapInit().
Referenced by ReadStreamContentModifier(), and ReadStreamDriveModifier().
294 const char *s = HP.
IsWord(typewordset);
297 TypeMap_t::iterator i = swapmap.find(std::string(s));
299 }
while ((s = HP.
IsWord(typewordset)) != 0);
311 for (TypeMap_t::iterator i = swapmap.begin(); i != swapmap.end(); ++i) {
319 size_t size(0), offset(0);
324 for (
size_t i = 1; i < data.size(); i++) {
326 data[i] = data[i - 1]->
copy(offset);
331 for (
size_t i = 0; i < data.size(); i++) {
void SwapMapInit(TypeMap_t &swapmap)
virtual const char * IsWord(const HighParser::WordSet &ws)
static BufCast * ReadOneBufCast(HighParser &HP, size_t &offset, TypeMap_t &swapmap, bool bNoSkip=false)
bool bIsLittleEndian(void)
virtual bool GetYesNoOrBool(bool bDefval=false)
virtual bool IsKeyWord(const char *sKeyWord)
std::map< std::string, bool > TypeMap_t
virtual BufCast * copy(size_t offset) const =0
Definition at line 266 of file bufmod.cc.
Referenced by buildFGBufCast(), and ReadBufCast().
268 swapmap.insert(TypeMap_t::value_type(
typeid(int8_t).name(),
false));
269 swapmap.insert(TypeMap_t::value_type(
typeid(uint8_t).name(),
false));
270 swapmap.insert(TypeMap_t::value_type(
typeid(int16_t).name(),
false));
271 swapmap.insert(TypeMap_t::value_type(
typeid(uint16_t).name(),
false));
272 swapmap.insert(TypeMap_t::value_type(
typeid(int32_t).name(),
false));
273 swapmap.insert(TypeMap_t::value_type(
typeid(uint32_t).name(),
false));
274 swapmap.insert(TypeMap_t::value_type(
typeid(
float).name(),
false));
275 swapmap.insert(TypeMap_t::value_type(
typeid(
double).name(),
false));