HDK
|
#include <UT_IStream.h>
Public Types | |
enum | { UT_SEEK_BEG =UT_IOS_SEEK_BEG, UT_SEEK_CUR =UT_IOS_SEEK_CUR, UT_SEEK_END =UT_IOS_SEEK_END } |
enum | FileSystemType { UT_FSYSTEM_UNKNOWN, UT_FSYSTEM_LOCAL, UT_FSYSTEM_NETWORK } |
Return whether the stream refers to a local drive or a network path. More... | |
Static Public Member Functions | |
static void | setStdinCompatible (bool state) |
Protected Member Functions | |
UT_IStream (const UT_StringHolder &filename, const UT_Options *open_options, bool bufferable) | |
UT_IStream (UT_IStreamBuf *sbuf, UT_ISTREAM_READTYPE binary) | |
void | initCommon (UT_ISTREAM_READTYPE binary) |
bool | readString (UT_String &str, bool binary) |
bool | readStdString (std::string &bytes, bool binary) |
bool | readStringHolder (UT_StringHolder &bytes, bool binary) |
bool | readWorkBuffer (UT_WorkBuffer &bytes, bool binary) |
void | setError () |
void | clearError () |
Protected Attributes | |
UT_IStreamBuf * | myStream |
UT_StringHolder | myLabel |
int | myVersion |
bool | myBinary |
bool | myEof |
bool | myError |
bool | myIsFile |
bool | myIsSubStream |
Friends | |
class | UT_IStreamAutoBinary |
Definition at line 56 of file UT_IStream.h.
anonymous enum |
Enumerator | |
---|---|
UT_SEEK_BEG | |
UT_SEEK_CUR | |
UT_SEEK_END |
Definition at line 116 of file UT_IStream.h.
Return whether the stream refers to a local drive or a network path.
Enumerator | |
---|---|
UT_FSYSTEM_UNKNOWN | |
UT_FSYSTEM_LOCAL | |
UT_FSYSTEM_NETWORK |
Definition at line 135 of file UT_IStream.h.
|
inline |
WARNING: You MUST call init before using a default-constructed UT_IStream!
Definition at line 61 of file UT_IStream.h.
|
inline |
FIXME: Many functions will assert when bufferable is false, because they assume that they can read directly from the buffer.
Definition at line 66 of file UT_IStream.h.
|
inline |
Definition at line 69 of file UT_IStream.h.
|
inline |
Definition at line 72 of file UT_IStream.h.
|
inline |
Definition at line 76 of file UT_IStream.h.
|
virtual |
|
protected |
|
protected |
|
inline |
Definition at line 469 of file UT_IStream.h.
|
inline |
Definition at line 470 of file UT_IStream.h.
|
inline |
Definition at line 472 of file UT_IStream.h.
|
inline |
Definition at line 474 of file UT_IStream.h.
|
inline |
Definition at line 388 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 418 of file UT_IStream.h.
Definition at line 424 of file UT_IStream.h.
Definition at line 426 of file UT_IStream.h.
Definition at line 429 of file UT_IStream.h.
Definition at line 432 of file UT_IStream.h.
Definition at line 435 of file UT_IStream.h.
|
inline |
Definition at line 437 of file UT_IStream.h.
|
inline |
Definition at line 438 of file UT_IStream.h.
|
inline |
Definition at line 440 of file UT_IStream.h.
|
inline |
Definition at line 442 of file UT_IStream.h.
|
inline |
Reads in the next token (skipping comments) and compares it to the expected value. Returns true if the tokens match, and false otherwise.
Definition at line 232 of file UT_IStream.h.
|
inline |
Reads in the next token and compares it to the expected value. Returns true if the tokens match, and false otherwise.
Definition at line 242 of file UT_IStream.h.
|
inlineprotected |
Definition at line 492 of file UT_IStream.h.
bool UT_IStream::getAll | ( | UT_WorkBuffer & | buffer | ) |
Reads in the entire stream from the current position to the end. Returns true if anything was read in, false otherwise. Use isError() to test error state.
bool UT_IStream::getAllAscii | ( | UT_WorkBuffer & | buffer | ) |
Does the same as getAll, except any carriage return-newline (\\r\\n
) sequences are converted into newlines (\\n
).
UT_UniquePtr<UT_IStream> UT_IStream::getBloscStream | ( | ) |
|
inline |
getc and peek return the character read as an unsigned char cast to an int, or -1 (EOF) on failure. In other words, characters with the high bit set will return a number from 128 to 255, not a negative number.
Definition at line 256 of file UT_IStream.h.
int UT_IStream::getFileDescriptor | ( | ) | const |
Returns the open file descriptor, if any. Be careful what you do with it.
const char* UT_IStream::getFilename | ( | ) | const |
Retrieves the filename of this stream if it was created from file returns NULL otherwise
FileSystemType UT_IStream::getFileSystemType | ( | ) | const |
UT_UniquePtr<UT_IStream> UT_IStream::getGzipStream | ( | ) |
bool UT_IStream::getJSONWord | ( | UT_WorkBuffer & | buffer, |
bool & | real | ||
) |
Read a JSON token. This assumes that leading white space has been trimmed and will read all characters until:
|
inline |
Definition at line 168 of file UT_IStream.h.
bool UT_IStream::getLine | ( | UT_WorkBuffer & | buffer, |
int | end = '\n' |
||
) |
|
virtual |
NOTE: This counts the memory of the UT_IStreamBuf, even though it may be shared among multiple UT_IStream objects.
exint UT_IStream::getNonCommentLine | ( | UT_WorkBuffer & | buffer, |
int | comment = '#' , |
||
bool | strip_inline_comments = true |
||
) |
Skips all the comment lines and reads the next line in the stream. Returns the number of lines read. Note that the resulting line will be stripped of leading white space as well. The strip_inline_comments argument determines whether or not the resulting line should have comments at the end, if any, stripped.
bool UT_IStream::getNonCommentWord | ( | UT_WorkBuffer & | buffer, |
int | comment = '#' |
||
) |
Skips all the comment lines and reads the next token in the stream. Returns true if successful and false otherwise.
UT_UniquePtr<UT_IStream> UT_IStream::getSCStream | ( | ) |
|
inline |
Definition at line 175 of file UT_IStream.h.
bool UT_IStream::getString | ( | UT_WorkBuffer & | buffer | ) |
UT_UniquePtr<UT_IStream> UT_IStream::getSubStream | ( | exint | start, |
exint | nbytes | ||
) |
Returns a stream represenging a substream of the parent stream starting at 'start' byte and containin 'nbytes'.
|
inline |
Definition at line 162 of file UT_IStream.h.
bool UT_IStream::getWord | ( | UT_WorkBuffer & | buffer | ) |
UT_UniquePtr<UT_IStream> UT_IStream::getZlibStream | ( | ) |
void UT_IStream::init | ( | FILE * | fp, |
UT_ISTREAM_READTYPE | binary = UT_ISTREAM_BINARY , |
||
bool | bufferable = true |
||
) |
void UT_IStream::init | ( | std::istream & | is, |
UT_ISTREAM_READTYPE | binary = UT_ISTREAM_BINARY , |
||
bool | bufferable = true |
||
) |
void UT_IStream::init | ( | const char * | buffer, |
size_t | bufsize, | ||
UT_ISTREAM_READTYPE | binary | ||
) |
void UT_IStream::init | ( | const UT_WorkBuffer & | buffer, |
UT_ISTREAM_READTYPE | binary = UT_ISTREAM_ASCII |
||
) |
|
protected |
|
inline |
Definition at line 154 of file UT_IStream.h.
|
inline |
Definition at line 155 of file UT_IStream.h.
bool UT_IStream::isEof | ( | ) | const |
|
inline |
Definition at line 151 of file UT_IStream.h.
bool UT_IStream::isRandomAccessFile | ( | UT_WorkBuffer & | filename | ) | const |
Check whether the stream refers to a filename and whether the file supports random seeks.
|
inline |
Definition at line 107 of file UT_IStream.h.
|
inline |
Definition at line 258 of file UT_IStream.h.
Definition at line 276 of file UT_IStream.h.
Definition at line 280 of file UT_IStream.h.
Definition at line 284 of file UT_IStream.h.
Definition at line 288 of file UT_IStream.h.
Definition at line 292 of file UT_IStream.h.
Definition at line 296 of file UT_IStream.h.
Definition at line 300 of file UT_IStream.h.
|
inline |
Definition at line 304 of file UT_IStream.h.
|
inline |
Definition at line 308 of file UT_IStream.h.
|
inline |
Definition at line 312 of file UT_IStream.h.
|
inline |
Definition at line 320 of file UT_IStream.h.
Definition at line 334 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 398 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 400 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 402 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 404 of file UT_IStream.h.
Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.
Definition at line 406 of file UT_IStream.h.
bool UT_IStream::readBinaryString | ( | UT_String & | str, |
UT_ISTREAM_RLE_IO | startbits | ||
) |
Read a string that was saved by first writing the number of bytes in the stream, followed by the string itself. The length was stored using as few bytes as possible, and startbits specifies the minimum number of size bits it can expect. Note that a UT_String cannot contain data with null's, so use readBinaryData below or read(std::string &) for binary data.
bool UT_IStream::readBinaryString | ( | UT_StringHolder & | string, |
UT_ISTREAM_RLE_IO | startbits | ||
) |
|
inline |
Definition at line 378 of file UT_IStream.h.
|
inline |
Definition at line 382 of file UT_IStream.h.
|
protected |
|
protected |
|
protected |
exint UT_IStream::readStringRLE | ( | UT_ISTREAM_RLE_IO | startbits | ) |
Reads the length of a string buffer. This will be an integer of the provided startbits. If the value is negative, it signifies that the next larger integer will be stored after. The usual default value is 16 to match UT_String default saving.
|
protected |
bool UT_IStream::seekg | ( | exint | pos, |
int | seekdir = UT_SEEK_BEG |
||
) |
Query or seek to a position in the stream. Please see documentation for standard istreams for further information.
|
inline |
Definition at line 152 of file UT_IStream.h.
|
protected |
|
inline |
Definition at line 102 of file UT_IStream.h.
|
inline |
It can be useful to know if this stream is a substream, particularly when this stream is flagged as a file.
Definition at line 106 of file UT_IStream.h.
|
inline |
The label methods provide a way to give the stream a label which is used to identify the stream in error messages. For example, UT_IFStream sets the label to the filename.
Definition at line 167 of file UT_IStream.h.
|
static |
The version information can be used to stash version information with the stream itself rather than having to pass the version information through to all other loading methods. This is used primarily in legacy geometry loading.
Definition at line 161 of file UT_IStream.h.
Definition at line 507 of file UT_IStream.h.
Definition at line 531 of file UT_IStream.h.
|
inline |
Definition at line 519 of file UT_IStream.h.
|
inline |
Query or seek to a position in the stream. Please see documentation for standard istreams for further information.
Definition at line 125 of file UT_IStream.h.
|
inline |
Definition at line 265 of file UT_IStream.h.
|
inline |
Definition at line 266 of file UT_IStream.h.
|
friend |
Definition at line 503 of file UT_IStream.h.
|
protected |
Definition at line 498 of file UT_IStream.h.
|
protected |
Definition at line 498 of file UT_IStream.h.
|
protected |
Definition at line 498 of file UT_IStream.h.
|
protected |
Definition at line 499 of file UT_IStream.h.
|
protected |
Definition at line 500 of file UT_IStream.h.
|
protected |
Definition at line 496 of file UT_IStream.h.
|
protected |
Definition at line 495 of file UT_IStream.h.
|
protected |
Definition at line 497 of file UT_IStream.h.