KSquare Utilities
KKB::TokenBufferStream Class Reference

#include <TokenBuffer.h>

+ Inheritance diagram for KKB::TokenBufferStream:

Public Member Functions

 TokenBufferStream (std::istream *_in)
 
 TokenBufferStream (const KKStr &_fileName)
 
virtual ~TokenBufferStream ()
 
virtual bool EndOfFile ()
 
virtual char GetNextChar ()
 
virtual char PeekNextChar ()
 
virtual void UnGetNextChar ()
 
virtual bool Valid ()
 
- Public Member Functions inherited from KKB::TokenBuffer
 TokenBuffer ()
 
virtual ~TokenBuffer ()
 

Detailed Description

Definition at line 59 of file TokenBuffer.h.

Constructor & Destructor Documentation

KKB::TokenBufferStream::TokenBufferStream ( std::istream *  _in)
TokenBufferStream::TokenBufferStream ( const KKStr _fileName)

Definition at line 107 of file TokenBuffer.cpp.

References KKB::KKStr::KKStr(), and KKB::TokenBuffer::TokenBuffer().

Referenced by KKB::Tokenizer::Tokenizer(), and KKB::XmlTokenizer::XmlTokenizer().

107  :
108  TokenBuffer (),
109  endOfFile (false),
110  fileName (_fileName),
111  fileStream (NULL),
112  in (NULL)
113 {
114  fileStream = new ifstream (fileName.Str ());
115  if (!fileStream->is_open ())
116  {
117  delete fileStream;
118  fileStream = NULL;
119  }
120  else
121  {
122  in = fileStream;
123  }
124 }
const char * Str() const
Returns a pointer to a ascii string.
Definition: KKStr.h:422
TokenBufferStream::~TokenBufferStream ( )
virtual

Definition at line 128 of file TokenBuffer.cpp.

129 {
130  if (fileStream)
131  {
132  in = NULL;
133  delete fileStream;
134  fileStream = NULL;
135  }
136 }

Member Function Documentation

bool TokenBufferStream::EndOfFile ( )
virtual

Implements KKB::TokenBuffer.

Definition at line 189 of file TokenBuffer.cpp.

190 {
191  return endOfFile;
192 }
char TokenBufferStream::GetNextChar ( )
virtual

Implements KKB::TokenBuffer.

Definition at line 155 of file TokenBuffer.cpp.

156 {
157  char c;
158  if (endOfFile)
159  return 0;
160 
161  c = in->get ();
162  if (in->eof())
163  {
164  endOfFile = true;
165  c = 0;
166  }
167  return c;
168 } /* GetNextChar */
char TokenBufferStream::PeekNextChar ( )
virtual

Implements KKB::TokenBuffer.

Definition at line 172 of file TokenBuffer.cpp.

173 {
174  if (in->eof ())
175  return 0;
176  return in->peek ();
177 }
void TokenBufferStream::UnGetNextChar ( )
virtual

Implements KKB::TokenBuffer.

Definition at line 182 of file TokenBuffer.cpp.

183 {
184  in->unget ();
185 }
bool TokenBufferStream::Valid ( )
virtual

Implements KKB::TokenBuffer.

Definition at line 142 of file TokenBuffer.cpp.

143 {
144  if (fileStream)
145  {
146  return fileStream->is_open ();
147  }
148 
149  return (in != NULL);
150 } /* Valid */

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