30#ifndef PSFILEBUFFER_PXFILEBUF_H
31#define PSFILEBUFFER_PXFILEBUF_H
33#include "foundation/PxSimpleTypes.h"
43namespace general_PxIOStream2
93 OPEN_READ_WRITE_EXISTING
96 virtual OpenMode getOpenMode(
void)
const = 0;
98 bool isOpen(
void)
const
100 return getOpenMode()!=OPEN_FILE_NOT_FOUND;
107 SEEKABLE_WRITE = 0x2,
108 SEEKABLE_READWRITE = 0x3
111 virtual SeekType isSeekable(
void)
const = 0;
113 void setEndianMode(EndianMode e)
116 if ( (e==ENDIAN_BIG && !isBigEndian() ) ||
117 (e==ENDIAN_LITTLE && isBigEndian() ) )
127 EndianMode getEndianMode(
void)
const
132 virtual uint32_t getFileLength(
void)
const = 0;
158 virtual uint32_t
read(
void *mem,uint32_t len) = 0;
169 virtual uint32_t
peek(
void *mem,uint32_t len) = 0;
179 virtual uint32_t
write(
const void *mem,uint32_t len) = 0;
213 return *(
reinterpret_cast<char*
>(&i))==0;
216 PX_INLINE void swap2Bytes(
void* _data)
const
218 char *data =
static_cast<char *
>(_data);
220 one_byte = data[0]; data[0] = data[1]; data[1] = one_byte;
223 PX_INLINE void swap4Bytes(
void* _data)
const
225 char *data =
static_cast<char *
>(_data);
227 one_byte = data[0]; data[0] = data[3]; data[3] = one_byte;
228 one_byte = data[1]; data[1] = data[2]; data[2] = one_byte;
231 PX_INLINE void swap8Bytes(
void *_data)
const
233 char *data =
static_cast<char *
>(_data);
235 one_byte = data[0]; data[0] = data[7]; data[7] = one_byte;
236 one_byte = data[1]; data[1] = data[6]; data[6] = one_byte;
237 one_byte = data[2]; data[2] = data[5]; data[5] = one_byte;
238 one_byte = data[3]; data[3] = data[4]; data[4] = one_byte;
301 float readFloat(
void)
310 double readDouble(
void)
321 EndianMode mEndianMode;
329using namespace general_PxIOStream2;
331namespace general_PxIOStream = general_PxIOStream2;
Callback class for data serialization.
Definition PxFileBuf.h:60
virtual uint32_t peek(void *mem, uint32_t len)=0
Reads from the stream into a buffer but does not advance the read location.
virtual uint32_t seekWrite(uint32_t loc)=0
Seeks the stream to a particular location for writing.
virtual void flush(void)=0
Causes any temporarily cached data to be flushed to the stream.
virtual uint32_t tellRead(void) const =0
Reports the current stream location read aqccess.
static const uint32_t STREAM_SEEK_END
Declares a constant to seek to the end of the stream.
Definition PxFileBuf.h:85
virtual uint32_t write(const void *mem, uint32_t len)=0
Writes a buffer of memory to the stream.
virtual uint32_t read(void *mem, uint32_t len)=0
Reads from the stream into a buffer.
virtual uint32_t tellWrite(void) const =0
Reports the current stream location for write access.
virtual void close(void)
Close the stream.
Definition PxFileBuf.h:203
virtual uint32_t seekRead(uint32_t loc)=0
Seeks the stream to a particular location for reading.
#define PX_PUSH_PACK_DEFAULT
Definition PxPreprocessor.h:313
#define PX_INLINE
Definition PxPreprocessor.h:320
uint32 uint32_t
Definition fwd.hpp:131
uint8 uint8_t
Definition fwd.hpp:103
uint16 uint16_t
Definition fwd.hpp:117
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39