UT_IStream Class Reference

#include <UT_IStream.h>

Inheritance diagram for UT_IStream:

UT_IBlowfishStream UT_IFStream UT_IGZStream UT_IZStream

List of all members.

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...

Public Member Functions

 UT_IStream (FILE *fp, UT_ISTREAM_READTYPE binary=UT_ISTREAM_BINARY)
 UT_IStream (istream &is, UT_ISTREAM_READTYPE binary=UT_ISTREAM_BINARY)
 UT_IStream (const char *buffer, size_t bufsize, UT_ISTREAM_READTYPE binary)
 UT_IStream (const UT_WorkBuffer &buffer, UT_ISTREAM_READTYPE binary=UT_ISTREAM_ASCII)
virtual ~UT_IStream ()
bool isRandomAccessFile (UT_WorkBuffer &filename) const
FileSystemType getFileSystemType () const
bool isEof () const
bool isError () const
void setError (bool is_error)
bool isAscii () const
bool isBinary () const
void setVersion (int version)
int getVersion () const
void setLabel (const char *label)
const char * getLabel () const
void pushBinary (UT_ISTREAM_READTYPE binary)
void popBinary ()
void pushOperation (const char *operation)
void popOperation ()
UT_IStreamBuf * getStreamBuffer ()
UT_IStreamgetSubStream (exint start, exint nbytes)
UT_IStreamgetZlibStream ()
UT_IStreamgetGzipStream ()
bool getLine (UT_WorkBuffer &buffer, int end='\n')
bool skipLine (int end='\n')
bool getWord (UT_WorkBuffer &buffer)
bool getString (UT_WorkBuffer &buffer)
bool skipLeadingWhitespace ()
bool getJSONWord (UT_WorkBuffer &buffer, bool &real)
bool getAll (UT_WorkBuffer &buffer)
bool getAllAscii (UT_WorkBuffer &buffer)
bool getNonCommentWord (UT_WorkBuffer &buffer, int comment='#')
exint getNonCommentLine (UT_WorkBuffer &buffer, int comment='#', bool strip_inline_comments=true)
bool checkNonCommentToken (const char *expected, int comment='#')
bool checkToken (const char *expected)
int getc ()
int peek ()
exint ungetc ()
exint unwind (exint amount)
exint read (bool *array, exint sz=1)
exint read (int16 *array, exint sz=1)
exint read (uint16 *array, exint sz=1)
exint read (int32 *array, exint sz=1)
exint read (uint32 *array, exint sz=1)
exint read (int64 *array, exint sz=1)
exint read (uint64 *array, exint sz=1)
bool read (UT_String &string)
bool read (std::string &bytes)
template<typename SOURCE_TYPE , typename T >
exint read (T *array, exint sz, exint max_elem)
exint read (bool *array, exint sz, exint max_elem)
bool readBinaryString (UT_String &str, UT_ISTREAM_RLE_IO startbits)
char * readBinaryData (exint &size, UT_ISTREAM_RLE_IO startbits, bool add_null=false)
bool readBool (bool &result)
bool readChar (char &result)
bool areadChar (char &result)
exint bread (bool *buffer, exint asize=1)
exint bread (char *buffer, exint asize=1)
exint bread (unsigned char *buffer, exint asize=1)
exint bread (signed char *buffer, exint asize=1)
exint bread (int16 *buffer, exint asize=1)
exint bread (uint16 *buffer, exint asize=1)
exint bread (int32 *buffer, exint asize=1)
exint bread (uint32 *buffer, exint asize=1)
exint bread (int64 *buffer, exint asize=1)
exint bread (uint64 *buffer, exint asize=1)
bool bread (UT_String &str)
bool bread (std::string &bytes)
exint aread (bool *buffer, exint asize=1)
exint aread (int16 *buffer, exint asize=1)
exint aread (uint16 *buffer, exint asize=1)
exint aread (int32 *buffer, exint asize=1)
exint aread (uint32 *buffer, exint asize=1)
exint aread (int64 *buffer, exint asize=1)
exint aread (uint64 *buffer, exint asize=1)
exint aread (fpreal16 *buffer, exint asize=1)
exint aread (fpreal32 *buffer, exint asize=1)
exint aread (fpreal64 *buffer, exint asize=1)
bool aread (UT_String &str)
bool aread (std::string &bytes)
exint tellg () const
bool seekg (exint pos, int seekdir=UT_SEEK_BEG)
template<typename SOURCE_TYPE >
exint read (int32 *val, exint sz=1)
template<typename SOURCE_TYPE >
exint read (int64 *val, exint sz=1)
template<typename SOURCE_TYPE >
exint read (fpreal16 *val, exint sz=1)
template<typename SOURCE_TYPE >
exint read (fpreal32 *val, exint sz=1)
template<typename SOURCE_TYPE >
exint read (fpreal64 *val, exint sz=1)
template<typename SOURCE_TYPE >
exint bread (int32 *buffer, exint asize=1)
template<typename SOURCE_TYPE >
exint bread (int64 *buffer, exint asize=1)
template<typename SOURCE_TYPE >
exint bread (fpreal16 *buffer, exint asize=1)
template<typename SOURCE_TYPE >
exint bread (fpreal32 *buffer, exint asize=1)
template<typename SOURCE_TYPE >
exint bread (fpreal64 *buffer, exint asize=1)

Static Public Member Functions

static void setStdinCompatible (bool state)

Protected Member Functions

 UT_IStream (const char *filename, const UT_Options *open_options)
 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)
void setError ()
void clearError ()

Protected Attributes

UT_IntArray myBinaryStack
UT_PtrArray< const char * > myOperationStack
UT_IStreamBuf * myStream
char * myLabel
int myVersion
bool myBinary
bool myEof
bool myError


Detailed Description

Examples:

CHOP/CHOP_Spring.C, field3d/GEO_Field3DTranslator.C, GEO/GEO_VoxelTranslator.C, SIM/SNOW_Solver.C, SIM/SNOW_Solver.h, SOP/SOP_BlindData.C, SOP/SOP_BlindData.h, SOP/SOP_CustomBrush.C, SOP/SOP_CustomBrush.h, and standalone/geo2voxel.C.

Definition at line 61 of file UT_IStream.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
UT_SEEK_BEG 
UT_SEEK_CUR 
UT_SEEK_END 

Definition at line 81 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 99 of file UT_IStream.h.


Constructor & Destructor Documentation

UT_IStream::UT_IStream ( FILE *  fp,
UT_ISTREAM_READTYPE  binary = UT_ISTREAM_BINARY 
)

UT_IStream::UT_IStream ( istream &  is,
UT_ISTREAM_READTYPE  binary = UT_ISTREAM_BINARY 
)

UT_IStream::UT_IStream ( const char *  buffer,
size_t  bufsize,
UT_ISTREAM_READTYPE  binary 
)

UT_IStream::UT_IStream ( const UT_WorkBuffer buffer,
UT_ISTREAM_READTYPE  binary = UT_ISTREAM_ASCII 
)

virtual UT_IStream::~UT_IStream (  )  [virtual]

UT_IStream::UT_IStream ( const char *  filename,
const UT_Options open_options 
) [protected]

UT_IStream::UT_IStream ( UT_IStreamBuf *  sbuf,
UT_ISTREAM_READTYPE  binary 
) [protected]


Member Function Documentation

bool UT_IStream::aread ( std::string bytes  )  [inline]

Definition at line 406 of file UT_IStream.h.

bool UT_IStream::aread ( UT_String str  )  [inline]

Definition at line 405 of file UT_IStream.h.

exint UT_IStream::aread ( fpreal64 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( fpreal32 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( fpreal16 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( uint64 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( int64 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( uint32 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( int32 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( uint16 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( int16 buffer,
exint  asize = 1 
)

exint UT_IStream::aread ( bool *  buffer,
exint  asize = 1 
)

bool UT_IStream::areadChar ( char &  result  )  [inline]

Definition at line 332 of file UT_IStream.h.

bool UT_IStream::bread ( std::string bytes  )  [inline]

Definition at line 378 of file UT_IStream.h.

bool UT_IStream::bread ( UT_String str  )  [inline]

Definition at line 377 of file UT_IStream.h.

exint UT_IStream::bread ( uint64 buffer,
exint  asize = 1 
) [inline]

Definition at line 375 of file UT_IStream.h.

exint UT_IStream::bread ( int64 buffer,
exint  asize = 1 
)

exint UT_IStream::bread ( uint32 buffer,
exint  asize = 1 
) [inline]

Definition at line 372 of file UT_IStream.h.

exint UT_IStream::bread ( int32 buffer,
exint  asize = 1 
)

exint UT_IStream::bread ( uint16 buffer,
exint  asize = 1 
) [inline]

Definition at line 369 of file UT_IStream.h.

exint UT_IStream::bread ( int16 buffer,
exint  asize = 1 
)

exint UT_IStream::bread ( signed char *  buffer,
exint  asize = 1 
) [inline]

Definition at line 366 of file UT_IStream.h.

exint UT_IStream::bread ( unsigned char *  buffer,
exint  asize = 1 
) [inline]

Definition at line 364 of file UT_IStream.h.

exint UT_IStream::bread ( char *  buffer,
exint  asize = 1 
)

exint UT_IStream::bread ( bool *  buffer,
exint  asize = 1 
)

template<typename SOURCE_TYPE >
exint UT_IStream::bread ( fpreal64 buffer,
exint  asize = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

template<typename SOURCE_TYPE >
exint UT_IStream::bread ( fpreal32 buffer,
exint  asize = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

template<typename SOURCE_TYPE >
exint UT_IStream::bread ( fpreal16 buffer,
exint  asize = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

template<typename SOURCE_TYPE >
exint UT_IStream::bread ( int64 buffer,
exint  asize = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

template<typename SOURCE_TYPE >
exint UT_IStream::bread ( int32 buffer,
exint  asize = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

bool UT_IStream::checkNonCommentToken ( const char *  expected,
int  comment = '#' 
) [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 200 of file UT_IStream.h.

bool UT_IStream::checkToken ( const char *  expected  )  [inline]

Reads in the next token and compares it to the expected value. Returns true if the tokens match, and false otherwise.

Examples:
GEO/GEO_VoxelTranslator.C, and standalone/geo2voxel.C.

Definition at line 210 of file UT_IStream.h.

void UT_IStream::clearError (  )  [protected]

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 (
) sequences are converted into newlines (
).

int UT_IStream::getc (  ) 

FileSystemType UT_IStream::getFileSystemType (  )  const

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:

  • a space (\f, \v, \r, \n, \t, ' ')
  • a separator ('/', '{', '}', '[', ']', ',', ':', '"')
    Note:
    The real flag will be set if the word contains ('.', 'e', or 'E')

const char* UT_IStream::getLabel (  )  const [inline]

Definition at line 128 of file UT_IStream.h.

bool UT_IStream::getLine ( UT_WorkBuffer buffer,
int  end = '\n' 
)

Examples:
SIM/SNOW_Solver.C.

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_IStreamBuf* UT_IStream::getStreamBuffer (  )  [inline]

Definition at line 149 of file UT_IStream.h.

bool UT_IStream::getString ( UT_WorkBuffer buffer  ) 

UT_IStream* UT_IStream::getSubStream ( exint  start,
exint  nbytes 
)

int UT_IStream::getVersion ( void   )  const [inline]

Definition at line 122 of file UT_IStream.h.

bool UT_IStream::getWord ( UT_WorkBuffer buffer  ) 

UT_IStream* UT_IStream::getZlibStream (  ) 

void UT_IStream::initCommon ( UT_ISTREAM_READTYPE  binary  )  [protected]

bool UT_IStream::isAscii (  )  const [inline]

Definition at line 114 of file UT_IStream.h.

bool UT_IStream::isBinary (  )  const [inline]

Definition at line 115 of file UT_IStream.h.

bool UT_IStream::isEof (  )  const

bool UT_IStream::isError (  )  const [inline]

Definition at line 111 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.

Examples:
field3d/GEO_Field3DTranslator.C.

int UT_IStream::peek (  ) 

void UT_IStream::popBinary (  ) 

void UT_IStream::popOperation (  ) 

void UT_IStream::pushBinary ( UT_ISTREAM_READTYPE  binary  ) 

The read() methods use the binary state of the stream to determine whether to read ASCII or binary values. Rather than calling this method directly, it would be better to create a UT_IStreamAutoBinary, which will automatically pop the state on its destruction.

void UT_IStream::pushOperation ( const char *  operation  ) 

For error handling. If an error occurs on the stream, the operation will be added to the error message (i.e. "loading image"). Rather than calling this method directly, it would probably be better to use UT_IStreamAutoOp which automatically pops the operation.

template<typename SOURCE_TYPE >
exint UT_IStream::read ( fpreal64 val,
exint  sz = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

Definition at line 350 of file UT_IStream.h.

template<typename SOURCE_TYPE >
exint UT_IStream::read ( fpreal32 val,
exint  sz = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

Definition at line 348 of file UT_IStream.h.

template<typename SOURCE_TYPE >
exint UT_IStream::read ( fpreal16 val,
exint  sz = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

Definition at line 346 of file UT_IStream.h.

template<typename SOURCE_TYPE >
exint UT_IStream::read ( int64 val,
exint  sz = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

Definition at line 344 of file UT_IStream.h.

template<typename SOURCE_TYPE >
exint UT_IStream::read ( int32 val,
exint  sz = 1 
) [inline]

Read a floating point value of the specified source type into the given destination variable, performing a conversion as necessary.

Definition at line 342 of file UT_IStream.h.

exint UT_IStream::read ( bool *  array,
exint  sz,
exint  max_elem 
) [inline]

Definition at line 290 of file UT_IStream.h.

template<typename SOURCE_TYPE , typename T >
exint UT_IStream::read ( T *  array,
exint  sz,
exint  max_elem 
) [inline]

Definition at line 276 of file UT_IStream.h.

bool UT_IStream::read ( std::string bytes  )  [inline]

Definition at line 268 of file UT_IStream.h.

bool UT_IStream::read ( UT_String string  )  [inline]

Definition at line 264 of file UT_IStream.h.

exint UT_IStream::read ( uint64 array,
exint  sz = 1 
) [inline]

Definition at line 260 of file UT_IStream.h.

exint UT_IStream::read ( int64 array,
exint  sz = 1 
) [inline]

Definition at line 256 of file UT_IStream.h.

exint UT_IStream::read ( uint32 array,
exint  sz = 1 
) [inline]

Definition at line 252 of file UT_IStream.h.

exint UT_IStream::read ( int32 array,
exint  sz = 1 
) [inline]

Definition at line 248 of file UT_IStream.h.

exint UT_IStream::read ( uint16 array,
exint  sz = 1 
) [inline]

Definition at line 244 of file UT_IStream.h.

exint UT_IStream::read ( int16 array,
exint  sz = 1 
) [inline]

Definition at line 240 of file UT_IStream.h.

exint UT_IStream::read ( bool *  array,
exint  sz = 1 
) [inline]

char* UT_IStream::readBinaryData ( exint size,
UT_ISTREAM_RLE_IO  startbits,
bool  add_null = false 
)

bool UT_IStream::readBinaryString ( UT_String str,
UT_ISTREAM_RLE_IO  startbits 
)

bool UT_IStream::readBool ( bool &  result  )  [inline]

Definition at line 322 of file UT_IStream.h.

bool UT_IStream::readChar ( char &  result  )  [inline]

Definition at line 326 of file UT_IStream.h.

bool UT_IStream::readStdString ( std::string bytes,
bool  binary 
) [protected]

bool UT_IStream::readString ( UT_String str,
bool  binary 
) [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.

void UT_IStream::setError (  )  [protected]

void UT_IStream::setError ( bool  is_error  )  [inline]

Definition at line 112 of file UT_IStream.h.

void UT_IStream::setLabel ( const char *  label  ) 

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.

static void UT_IStream::setStdinCompatible ( bool  state  )  [static]

void UT_IStream::setVersion ( int  version  )  [inline]

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 geometry loading.

Definition at line 121 of file UT_IStream.h.

bool UT_IStream::skipLeadingWhitespace (  ) 

bool UT_IStream::skipLine ( int  end = '\n'  ) 

exint UT_IStream::tellg (  )  const

Query or seek to a position in the stream. Please see documentation for standard istreams for further information.

exint UT_IStream::ungetc (  )  [inline]

Definition at line 226 of file UT_IStream.h.

exint UT_IStream::unwind ( exint  amount  ) 


Member Data Documentation

bool UT_IStream::myBinary [protected]

Definition at line 428 of file UT_IStream.h.

Definition at line 423 of file UT_IStream.h.

bool UT_IStream::myEof [protected]

Definition at line 428 of file UT_IStream.h.

bool UT_IStream::myError [protected]

Definition at line 428 of file UT_IStream.h.

char* UT_IStream::myLabel [protected]

Definition at line 426 of file UT_IStream.h.

UT_PtrArray<const char *> UT_IStream::myOperationStack [protected]

Definition at line 424 of file UT_IStream.h.

UT_IStreamBuf* UT_IStream::myStream [protected]

Definition at line 425 of file UT_IStream.h.

int UT_IStream::myVersion [protected]

Definition at line 427 of file UT_IStream.h.


The documentation for this class was generated from the following file:

Generated on Thu Jan 31 00:33:17 2013 for HDK by  doxygen 1.5.9