chrono::ChStreamInBinaryStream Class Reference
Description
This is a specialized class for BINARY input from wrapped std::istream,.
#include <ChStream.h>
Inheritance diagram for chrono::ChStreamInBinaryStream:
Collaboration diagram for chrono::ChStreamInBinaryStream:
Public Member Functions | |
ChStreamInBinaryStream (std::istream *mfile) | |
virtual bool | End_of_stream () const override |
Returns true if end of stream reached. | |
Public Member Functions inherited from chrono::ChStreamIstreamWrapper | |
ChStreamIstreamWrapper (std::istream *mfile) | |
Creates a wrapper for an already existing, already opened, istream, given the pointer to that istream. | |
virtual | ~ChStreamIstreamWrapper () |
Deleting this stream wrapper does not delete nor closes the wrapped istream! | |
virtual void | Read (char *data, size_t n) |
Reads from stream, up to n chars. More... | |
std::istream * | GetIstream () |
Reference to istream encapsulated here. | |
Public Member Functions inherited from chrono::ChStreamInBinary | |
template<class T > | |
ChStreamInBinary & | operator>> (T &obj) |
Generic >> operator for all classes which implement serialization by means of a method named 'void StreamIN(ChStreamInBinary&)'. | |
ChStreamInBinary & | operator>> (char &Val) |
Specialized operators for basic primitives (numbers like long, double, int. More... | |
ChStreamInBinary & | operator>> (bool &Val) |
ChStreamInBinary & | operator>> (int &Val) |
ChStreamInBinary & | operator>> (unsigned int &Val) |
ChStreamInBinary & | operator>> (double &Val) |
ChStreamInBinary & | operator>> (float &Val) |
ChStreamInBinary & | operator>> (long &Val) |
ChStreamInBinary & | operator>> (unsigned long &Val) |
ChStreamInBinary & | operator>> (unsigned long long &Val) |
ChStreamInBinary & | operator>> (std::string &str) |
ChStreamInBinary & | operator>> (char *str) |
Specialized operator for C strings. | |
template<class T > | |
void | GenericBinaryInput (T &ogg) |
Generic operator for raw binary streaming of generic objects WARNING!!! raw byte streaming! If class 'T' contains double, int, long, etc, these may give problems when loading on another platform which has big-endian ordering, if generated on a little-endian platform... | |
template<class t > | |
t * | AbstractReadCreate (t **mObj) |
Extract an object from the archive, and assignes the pointer to it. More... | |
template<class t > | |
t * | AbstractReadAllCreate (t **mObj) |
Extract an object from the archive, and assigns the pointer to it. More... | |
int | VersionRead () |
Some objects may write class version at the beginning of the streamed data, they can use this function to read class from stream. | |
Public Member Functions inherited from chrono::ChBinaryArchive | |
bool | IsBigEndianMachine () |
Returns true if the machine where the code runs has big endian byte ordering, returns false otherwise. | |
void | Init () |
Reinitialize the vector of pointers to loaded/saved objects. | |
int | PutPointer (void *object) |
Put a pointer in pointer vector, but only if it was not previously inserted. More... | |
Additional Inherited Members | |
Public Types inherited from chrono::ChStream | |
enum | eChMode { CHFILE_NORMAL = 0, CHFILE_NOWRITE, CHFILE_SAFEWRITE, CHFILE_OPENLATER } |
Modes for chrono files (the ch-modes) - obsolete -. More... | |
enum | eChStreamError { CHSTREAM_OK = 0, CHSTREAM_EOF, CHSTREAM_FAIL } |
Errors for chrono files (the ch-modes) More... | |
Protected Attributes inherited from chrono::ChBinaryArchive | |
bool | big_endian_machine |
std::vector< void * > | objects_pointers |
vector of pointers to stored/retrieved objects, to avoid saving duplicates or deadlocks | |
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/core/ChStream.h