Visualization Library 2.0.0
A lightweight C++ OpenGL middleware for 2D/3D graphics
|
[Download] [Tutorials] [All Classes] [Grouped Classes] |
A VirtualFile to manipulate files stored in memory. More...
#include <MemoryFile.hpp>
Public Member Functions | |
MemoryFile () | |
const Buffer * | buffer () const |
Buffer * | buffer () |
void | setBuffer (Buffer *buffer) |
This is useful when you want to point more MemoryFiles to the same Buffer object. More... | |
unsigned char * | ptr () |
virtual bool | exists () const |
A MemoryFile always exists. More... | |
virtual bool | open (EOpenMode mode) |
Opens the file in the specified mode. More... | |
virtual bool | isOpen () const |
Returns true if the file has been opened. More... | |
virtual void | close () |
Closes the file. More... | |
void | allocateBuffer (long long byte_count) |
virtual long long | size () const |
Returns the size of the file in bytes. More... | |
void | copy (VirtualFile *file) |
Copies the data of any kind of VirtualFile. More... | |
MemoryFile & | operator= (const MemoryFile &other) |
ref< VirtualFile > | clone () const |
Creates a clone of this class instance. More... | |
Public Member Functions inherited from vl::VirtualFile | |
VirtualFile () | |
Constructor. More... | |
unsigned int | crc32 () |
Computes the crc32 of the entire file. More... | |
MD5CheckSum | md5 () |
Computes the md5 of the entire file. More... | |
VirtualFile & | operator= (const VirtualFile &other) |
const String & | path () const |
Returns the path of the file. More... | |
void | setPath (const String &name) |
Changes the path bound to a VirtualFile. Use carefully this function, you shouldn't rename a VirtualFile managed by a VirtualDirectory. More... | |
long long | peek (void *buffer, long long byte_count) |
Reads byte_count bytes and returns to the original position. More... | |
long long | read (void *buffer, long long byte_count) |
Reads byte_count bytes from a file. Returns the number of bytes actually read. More... | |
long long | write (const void *buffer, long long byte_count) |
Writes byte_count bytes to a file. Returns the number of bytes actually written. More... | |
long long | position () const |
Returns the current position in the file. More... | |
bool | seekSet (long long offset) |
Changes the current read/write position of a file. More... | |
bool | seekCur (long long offset) |
Changes the current read/write position of a file. More... | |
bool | seekEnd (long long offset) |
Changes the current read/write position of a file. More... | |
bool | endOfFile () const |
Returns true if position() >= size() More... | |
long long | load (std::vector< char > &data) |
Loads the entire file in the specified vector. More... | |
long long | load (void *buffer, long long max=-1) |
Loads the entire file in the specified buffer. More... | |
double | readDouble (bool little_endian_data=true) |
Reads single entry. More... | |
float | readFloat (bool little_endian_data=true) |
Reads single entry. More... | |
unsigned long long | readUInt64 (bool little_endian_data=true) |
Reads single entry. More... | |
long long | readSInt64 (bool little_endian_data=true) |
Reads single entry. More... | |
unsigned int | readUInt32 (bool little_endian_data=true) |
Reads single entry. More... | |
int | readSInt32 (bool little_endian_data=true) |
Reads single entry. More... | |
unsigned short | readUInt16 (bool little_endian_data=true) |
Reads single entry. More... | |
short | readSInt16 (bool little_endian_data=true) |
Reads single entry. More... | |
unsigned char | readUInt8 () |
Reads single entry. More... | |
char | readSInt8 () |
Reads single entry. More... | |
long long | readDouble (double *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readFloat (float *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readUInt64 (unsigned long long *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readSInt64 (long long *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readUInt32 (unsigned int *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readSInt32 (int *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readUInt16 (unsigned short *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readSInt16 (short *buffer, long long count, bool little_endian_data=true) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readUInt8 (unsigned char *buffer, long long count) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | readSInt8 (char *buffer, long long count) |
Reads multiple entries. Returns the number of bytes read. More... | |
long long | writeDouble (double data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeFloat (float data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeUInt64 (unsigned long long data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeSInt64 (long long data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeUInt32 (unsigned int data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeSInt32 (int data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeUInt16 (unsigned short data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeSInt16 (short data, bool little_endian_data=true) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeUInt8 (unsigned char data) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeSInt8 (char data) |
Writes a single entry. Returns the number of bytes written. More... | |
long long | writeDouble (const double *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeFloat (const float *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeUInt64 (const unsigned long long *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeSInt64 (const long long *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeUInt32 (const unsigned int *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeSInt32 (const int *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeUInt16 (const unsigned short *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeSInt16 (const short *buffer, long long count, bool little_endian_data=true) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeUInt8 (const unsigned char *buffer, long long count) |
Writes multiple entries. Returns the number of bytes written. More... | |
long long | writeSInt8 (const char *buffer, long long count) |
Writes multiple entries. Returns the number of bytes written. More... | |
Public Member Functions inherited from vl::Object | |
Object () | |
Constructor. More... | |
Object (const Object &other) | |
Copy constructor: copies the name, ref count mutex and user data. More... | |
Object & | operator= (const Object &other) |
Copy operator: copies the object's name, ref count mutex and user data. More... | |
const std::string & | objectName () const |
The name of the object, by default set to the object's class name. More... | |
void | setObjectName (const char *name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setObjectName (const std::string &name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setRefCountMutex (IMutex *mutex) |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
IMutex * | refCountMutex () |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
const IMutex * | refCountMutex () const |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
int | referenceCount () const |
Returns the number of references of an object. More... | |
void | incReference () const |
Increments the reference count of an object. More... | |
void | decReference () |
Decrements the reference count of an object and deletes it if both automaticDelete() is true the count reaches 0. More... | |
void | setAutomaticDelete (bool autodel_on) |
If set to true the Object is deleted when its reference count reaches 0. More... | |
bool | automaticDelete () const |
If set to true the Object is deleted when its reference count reaches 0. More... | |
template<class T > | |
T * | as () |
Casts an Object to the specified class. More... | |
template<class T > | |
const T * | as () const |
Casts an Object to the specified class. More... | |
Protected Member Functions | |
virtual long long | position_Implementation () const |
virtual long long | read_Implementation (void *buffer, long long byte_count) |
virtual long long | write_Implementation (const void *, long long) |
virtual bool | seekSet_Implementation (long long offset) |
Protected Member Functions inherited from vl::VirtualFile | |
VirtualFile (const VirtualFile &other) | |
long long | write64 (const void *buffer, long long count, bool little_endian_data=true) |
long long | write32 (const void *buffer, long long count, bool little_endian_data=true) |
long long | write16 (const void *buffer, long long count, bool little_endian_data=true) |
long long | read64 (void *buffer, long long count, bool little_endian_data=true) |
long long | read32 (void *buffer, long long count, bool little_endian_data=true) |
long long | read16 (void *buffer, long long count, bool little_endian_data=true) |
long long | write64 (const void *buffer, bool little_endian_data=true) |
long long | write32 (const void *buffer, bool little_endian_data=true) |
long long | write16 (const void *buffer, bool little_endian_data=true) |
long long | read64 (void *buffer, bool little_endian_data=true) |
long long | read32 (void *buffer, bool little_endian_data=true) |
long long | read16 (void *buffer, bool little_endian_data=true) |
Protected Member Functions inherited from vl::Object | |
virtual | ~Object () |
Protected Attributes | |
ref< Buffer > | mBuffer |
long long | mPtr |
bool | mIsOpen |
Protected Attributes inherited from vl::VirtualFile | |
String | mPath |
Protected Attributes inherited from vl::Object | |
std::string | mObjectName |
IMutex * | mRefCountMutex |
int | mReferenceCount |
bool | mAutomaticDelete |
A VirtualFile to manipulate files stored in memory.
Definition at line 56 of file MemoryFile.hpp.
MemoryFile::MemoryFile | ( | ) |
|
inline |
Definition at line 81 of file MemoryFile.hpp.
Referenced by copy(), and vl::LoadWriterManager::loadResource().
|
inline |
Definition at line 63 of file MemoryFile.hpp.
|
inline |
Definition at line 65 of file MemoryFile.hpp.
|
virtual |
Creates a clone of this class instance.
Implements vl::VirtualFile.
Definition at line 111 of file MemoryFile.cpp.
References MemoryFile().
|
inlinevirtual |
void MemoryFile::copy | ( | VirtualFile * | file | ) |
Copies the data of any kind of VirtualFile.
Definition at line 60 of file MemoryFile.cpp.
References allocateBuffer(), vl::VirtualFile::close(), vl::VirtualFile::isOpen(), vl::OM_ReadOnly, vl::VirtualFile::open(), ptr(), vl::VirtualFile::read(), size(), and vl::VirtualFile::size().
Referenced by vl::MemoryDirectory::clone(), and vl::loadMOL2().
|
inlinevirtual |
A MemoryFile always exists.
Implements vl::VirtualFile.
Definition at line 73 of file MemoryFile.hpp.
|
inlinevirtual |
Returns true
if the file has been opened.
Implements vl::VirtualFile.
Definition at line 77 of file MemoryFile.hpp.
Referenced by open(), position_Implementation(), read_Implementation(), and seekSet_Implementation().
|
virtual |
Opens the file in the specified mode.
Implements vl::VirtualFile.
Definition at line 47 of file MemoryFile.cpp.
References vl::Log::error(), isOpen(), mIsOpen, and vl::OM_ReadOnly.
Referenced by vl::loadMOL2().
|
inline |
Definition at line 88 of file MemoryFile.hpp.
References mBuffer.
|
protectedvirtual |
Implements vl::VirtualFile.
Definition at line 74 of file MemoryFile.cpp.
|
inline |
Definition at line 70 of file MemoryFile.hpp.
Referenced by copy(), vl::LoadWriterManager::loadResource(), and read_Implementation().
|
protectedvirtual |
Implements vl::VirtualFile.
Definition at line 81 of file MemoryFile.cpp.
|
protectedvirtual |
Implements vl::VirtualFile.
Definition at line 100 of file MemoryFile.cpp.
|
inline |
This is useful when you want to point more MemoryFiles to the same Buffer object.
Definition at line 68 of file MemoryFile.hpp.
|
inlinevirtual |
Returns the size of the file in bytes.
Implements vl::VirtualFile.
Definition at line 83 of file MemoryFile.hpp.
Referenced by copy().
|
inlineprotectedvirtual |
Implements vl::VirtualFile.
Definition at line 97 of file MemoryFile.hpp.
Definition at line 102 of file MemoryFile.hpp.
Referenced by MemoryFile(), operator=(), read_Implementation(), and seekSet_Implementation().
|
protected |
Definition at line 104 of file MemoryFile.hpp.
Referenced by MemoryFile(), and open().
|
protected |
Definition at line 103 of file MemoryFile.hpp.
Referenced by MemoryFile(), position_Implementation(), read_Implementation(), and seekSet_Implementation().
Visualization Library 2.0.0 Reference Documentation
Updated on Wed Dec 23 2020 12:44:09.
© Copyright Michele Bosi. All rights reserved.