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 = 0, UT_SEEK_CUR = 1, UT_SEEK_END = 2 }

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, int bufsize, UT_ISTREAM_READTYPE binary)
 UT_IStream (const UT_WorkBuffer &buffer, UT_ISTREAM_READTYPE binary=UT_ISTREAM_ASCII)
virtual ~UT_IStream ()
int64 tellg () const
bool seekg (int64 pos, int seekdir=UT_SEEK_BEG)
bool isEof () const
bool isError () const
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 (int64 start, int64 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 getAll (UT_WorkBuffer &buffer)
bool getNonCommentWord (UT_WorkBuffer &buffer, int comment='#')
int 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 ()
int ungetc ()
int unwind (int amount)
int read (int16 *array, int sz=1)
int read (uint16 *array, int sz=1)
int read (int32 *array, int sz=1)
int read (uint32 *array, int sz=1)
int read (int64 *array, int sz=1)
int read (uint64 *array, int sz=1)
int read (fpreal32 *array, int sz=1)
int read (fpreal64 *array, int sz=1)
bool read (UT_String &string)
bool readBinaryString (UT_String &str, UT_ISTREAM_RLE_IO startbits)
bool readBool (bool &result)
bool readChar (char &result)
bool areadChar (char &result)
int bread (char *buffer, int asize=1)
int bread (unsigned char *buffer, int asize=1)
int bread (int16 *buffer, int asize=1)
int bread (uint16 *buffer, int asize=1)
int bread (int32 *buffer, int asize=1)
int bread (uint32 *buffer, int asize=1)
int bread (int64 *buffer, int asize=1)
int bread (uint64 *buffer, int asize=1)
int bread (fpreal32 *buffer, int asize=1)
int bread (fpreal64 *buffer, int asize=1)
bool bread (UT_String &str)
int aread (int16 *buffer, int asize=1)
int aread (uint16 *buffer, int asize=1)
int aread (int32 *buffer, int asize=1)
int aread (uint32 *buffer, int asize=1)
int aread (int64 *buffer, int asize=1)
int aread (uint64 *buffer, int asize=1)
int aread (fpreal32 *buffer, int asize=1)
int aread (fpreal64 *buffer, int asize=1)
bool aread (UT_String &str)

Static Public Member Functions

static void setStdinCompatible (bool state)

Protected Member Functions

 UT_IStream (const char *filename)
 UT_IStream (UT_IStreamBuf *sbuf, UT_ISTREAM_READTYPE binary)
void initCommon (UT_ISTREAM_READTYPE binary)
bool readString (UT_String &str, 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, SIM/SIM_SolverSNOW.C, SIM/SIM_SolverSNOW.h, SOP/SOP_BlindData.C, SOP/SOP_BlindData.h, SOP/SOP_CustomBrush.C, SOP/SOP_CustomBrush.h, and standalone/geo2voxel.C.

Definition at line 58 of file UT_IStream.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
UT_SEEK_BEG 
UT_SEEK_CUR 
UT_SEEK_END 

Definition at line 78 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,
int  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  )  [protected]

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


Member Function Documentation

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

Definition at line 311 of file UT_IStream.h.

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

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

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

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

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

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

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

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

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

Definition at line 264 of file UT_IStream.h.

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

Definition at line 287 of file UT_IStream.h.

int UT_IStream::bread ( fpreal64 buffer,
int  asize = 1 
)

int UT_IStream::bread ( fpreal32 buffer,
int  asize = 1 
)

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

Definition at line 283 of file UT_IStream.h.

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

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

Definition at line 280 of file UT_IStream.h.

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

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

Definition at line 277 of file UT_IStream.h.

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

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

Definition at line 274 of file UT_IStream.h.

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

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 171 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:
standalone/geo2voxel.C.

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

int UT_IStream::getc (  ) 

UT_IStream* UT_IStream::getGzipStream (  ) 

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

Definition at line 110 of file UT_IStream.h.

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

int 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 131 of file UT_IStream.h.

bool UT_IStream::getString ( UT_WorkBuffer buffer  ) 

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

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

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

bool UT_IStream::isBinary (  )  const [inline]

Definition at line 97 of file UT_IStream.h.

bool UT_IStream::isEof (  )  const

bool UT_IStream::isError (  )  const [inline]

Definition at line 94 of file UT_IStream.h.

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.

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

Definition at line 239 of file UT_IStream.h.

int UT_IStream::read ( fpreal64 array,
int  sz = 1 
) [inline]

Definition at line 235 of file UT_IStream.h.

int UT_IStream::read ( fpreal32 array,
int  sz = 1 
) [inline]

Definition at line 231 of file UT_IStream.h.

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

Definition at line 227 of file UT_IStream.h.

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

Definition at line 223 of file UT_IStream.h.

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

Definition at line 219 of file UT_IStream.h.

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

Definition at line 215 of file UT_IStream.h.

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

Definition at line 211 of file UT_IStream.h.

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

Examples:
CHOP/CHOP_Spring.C, SOP/SOP_CustomBrush.C, and standalone/geo2voxel.C.

Definition at line 207 of file UT_IStream.h.

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

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

Definition at line 248 of file UT_IStream.h.

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

Definition at line 258 of file UT_IStream.h.

bool UT_IStream::readString ( UT_String str,
bool  binary 
) [protected]

bool UT_IStream::seekg ( int64  pos,
int  seekdir = UT_SEEK_BEG 
)

void UT_IStream::setError (  )  [protected]

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 103 of file UT_IStream.h.

bool UT_IStream::skipLeadingWhitespace (  ) 

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

int64 UT_IStream::tellg (  )  const

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

int UT_IStream::ungetc (  )  [inline]

Definition at line 197 of file UT_IStream.h.

int UT_IStream::unwind ( int  amount  ) 


Member Data Documentation

bool UT_IStream::myBinary [protected]

Definition at line 331 of file UT_IStream.h.

Definition at line 326 of file UT_IStream.h.

bool UT_IStream::myEof [protected]

Definition at line 331 of file UT_IStream.h.

bool UT_IStream::myError [protected]

Definition at line 331 of file UT_IStream.h.

char* UT_IStream::myLabel [protected]

Definition at line 329 of file UT_IStream.h.

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

Definition at line 327 of file UT_IStream.h.

UT_IStreamBuf* UT_IStream::myStream [protected]

Definition at line 328 of file UT_IStream.h.

int UT_IStream::myVersion [protected]

Definition at line 330 of file UT_IStream.h.


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

Generated on Thu Feb 9 00:11:33 2012 for HDK by  doxygen 1.5.9