 |
CUGL 1.3
Cornell University Game Library
|
53 #ifndef __CU_BINARY_READER_H__
54 #define __CU_BINARY_READER_H__
55 #include <cugl/base/CUBase.h>
57 #include <cugl/io/CUPathname.h>
101 #pragma mark Internal Methods
110 void fill(
unsigned int bytes=1);
114 #pragma mark Constructors
147 bool init(
const std::string& file) {
200 bool init(
const std::string& file,
unsigned int capacity) {
217 bool init(
const char* file,
unsigned int capacity) {
251 return init(file.c_str());
283 return init(file.c_str(),capacity);
302 #pragma mark Static Constructors
318 static std::shared_ptr<BinaryReader>
alloc(
const std::string& file) {
319 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
320 return (result->init(file) ? result :
nullptr);
338 static std::shared_ptr<BinaryReader>
alloc(
const char* file) {
339 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
340 return (result->init(file) ? result :
nullptr);
356 static std::shared_ptr<BinaryReader>
alloc(
const std::string& file,
unsigned int capacity) {
357 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
358 return (result->init(file,capacity) ? result :
nullptr);
374 static std::shared_ptr<BinaryReader>
alloc(
const char* file,
unsigned int capacity) {
375 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
376 return (result->init(file,capacity) ? result :
nullptr);
394 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
395 return (result->initWithAsset(file) ? result :
nullptr);
413 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
414 return (result->initWithAsset(file) ? result :
nullptr);
430 static std::shared_ptr<BinaryReader>
allocWithAsset(
const std::string& file,
unsigned int capacity) {
431 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
432 return (result->initWithAsset(file,capacity) ? result :
nullptr);
448 static std::shared_ptr<BinaryReader>
allocWithAsset(
const char* file,
unsigned int capacity) {
449 std::shared_ptr<BinaryReader> result = std::make_shared<BinaryReader>();
450 return (result->initWithAsset(file,capacity) ? result :
nullptr);
455 #pragma mark Stream Management
482 bool ready(
unsigned int bytes=1)
const;
486 #pragma mark Single Element Reads
583 #pragma mark Array Reads
596 size_t read(
char* buffer,
size_t maximum,
size_t offset=0);
610 size_t read(Uint8* buffer,
size_t maximum,
size_t offset=0);
627 size_t read(Sint16* buffer,
size_t maximum,
size_t offset=0);
644 size_t read(Uint16* buffer,
size_t maximum,
size_t offset=0);
661 size_t read(Sint32* buffer,
size_t maximum,
size_t offset=0);
678 size_t read(Uint32* buffer,
size_t maximum,
size_t offset=0);
695 size_t read(Sint64* buffer,
size_t maximum,
size_t offset=0);
712 size_t read(Uint64* buffer,
size_t maximum,
size_t offset=0);
729 size_t read(
float* buffer,
size_t maximum,
size_t offset=0);
746 size_t read(
double* buffer,
size_t maximum,
size_t offset=0);
BinaryReader()
Definition: CUBinaryReader.h:122
bool initWithAsset(const std::string &file, unsigned int capacity)
Definition: CUBinaryReader.h:282
bool initWithAsset(const std::string &file)
Definition: CUBinaryReader.h:250
char * _buffer
Definition: CUBinaryReader.h:92
size_t read(char *buffer, size_t maximum, size_t offset=0)
bool init(const char *file)
Definition: CUBinaryReader.h:166
Definition: CUPathname.h:85
Definition: CUBinaryReader.h:80
Sint32 _bufoff
Definition: CUBinaryReader.h:98
std::string _name
Definition: CUBinaryReader.h:83
void fill(unsigned int bytes=1)
static std::shared_ptr< BinaryReader > allocWithAsset(const std::string &file)
Definition: CUBinaryReader.h:393
Sint64 _ssize
Definition: CUBinaryReader.h:87
Uint32 _bufsize
Definition: CUBinaryReader.h:96
static std::shared_ptr< BinaryReader > alloc(const std::string &file, unsigned int capacity)
Definition: CUBinaryReader.h:356
SDL_RWops * _stream
Definition: CUBinaryReader.h:85
static std::shared_ptr< BinaryReader > allocWithAsset(const char *file)
Definition: CUBinaryReader.h:412
static std::shared_ptr< BinaryReader > alloc(const std::string &file)
Definition: CUBinaryReader.h:318
static std::shared_ptr< BinaryReader > alloc(const char *file, unsigned int capacity)
Definition: CUBinaryReader.h:374
~BinaryReader()
Definition: CUBinaryReader.h:130
static std::shared_ptr< BinaryReader > alloc(const char *file)
Definition: CUBinaryReader.h:338
bool init(const char *file, unsigned int capacity)
Definition: CUBinaryReader.h:217
static std::shared_ptr< BinaryReader > allocWithAsset(const std::string &file, unsigned int capacity)
Definition: CUBinaryReader.h:430
bool init(const std::string &file, unsigned int capacity)
Definition: CUBinaryReader.h:200
Uint32 _capacity
Definition: CUBinaryReader.h:94
bool init(const std::string &file)
Definition: CUBinaryReader.h:147
Sint64 _scursor
Definition: CUBinaryReader.h:89
static std::shared_ptr< BinaryReader > allocWithAsset(const char *file, unsigned int capacity)
Definition: CUBinaryReader.h:448
bool ready(unsigned int bytes=1) const