OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
AbsFileStream Class Referenceabstract

A stream of input tokens. More...

#include <AbsFileStream.h>

Inheritance diagram for AbsFileStream:
Inheritance graph
Collaboration diagram for AbsFileStream:
Collaboration graph

Public Member Functions

 AbsFileStream (const std::string &name)
 Constructor. More...
 
virtual ~AbsFileStream ()
 
virtual bool fillLine ()=0
 Read next input line. More...
 
virtual Token readToken ()
 Read single token from file. More...
 
void putBack (const Token &token)
 Put token back to stream. More...
 
const std::string & getName () const
 Return stream name. More...
 
int getLine () const
 Return line number. More...
 
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Protected Member Functions

Token readNumber ()
 
Token readString ()
 
Token readWord ()
 
bool skipComments ()
 

Protected Attributes

std::string line
 
int curr_char
 
std::string stream_name
 
int curr_line
 
bool put_back_flag
 
Token put_back
 

Private Member Functions

 AbsFileStream ()
 
 AbsFileStream (const AbsFileStream &)
 
void operator= (const AbsFileStream &)
 

Private Attributes

int refCount
 

Detailed Description

A stream of input tokens.

Definition at line 31 of file AbsFileStream.h.

Constructor & Destructor Documentation

◆ AbsFileStream() [1/3]

AbsFileStream::AbsFileStream ( const std::string &  name)
explicit

Constructor.

Definition at line 31 of file AbsFileStream.cpp.

◆ ~AbsFileStream()

AbsFileStream::~AbsFileStream ( )
virtual

Definition at line 38 of file AbsFileStream.cpp.

◆ AbsFileStream() [2/3]

AbsFileStream::AbsFileStream ( )
private

◆ AbsFileStream() [3/3]

AbsFileStream::AbsFileStream ( const AbsFileStream )
private

Member Function Documentation

◆ addReference()

int RCObject::addReference ( ) const
inlineinherited

Increment reference count.

Definition at line 83 of file RCObject.h.

References RCObject::refCount.

Referenced by Pointer< Object >::operator=(), and Pointer< Object >::unique().

◆ fillLine()

virtual bool AbsFileStream::fillLine ( )
pure virtual

Read next input line.

Implemented in FileStream.

Referenced by readToken(), and skipComments().

◆ getLine()

int TokenStream::getLine ( ) const
inherited

Return line number.

Definition at line 49 of file TokenStream.cpp.

References TokenStream::curr_line.

◆ getName()

const std::string & TokenStream::getName ( ) const
inherited

Return stream name.

Definition at line 54 of file TokenStream.cpp.

References TokenStream::stream_name.

◆ isShared()

bool RCObject::isShared ( ) const
inlineinherited

Test for sharing.

Definition at line 93 of file RCObject.h.

References RCObject::refCount.

◆ operator=()

void AbsFileStream::operator= ( const AbsFileStream )
private

◆ putBack()

void TokenStream::putBack ( const Token token)
inherited

Put token back to stream.

Definition at line 38 of file TokenStream.cpp.

References TokenStream::put_back, and TokenStream::put_back_flag.

Referenced by IfStatement::IfStatement().

◆ readNumber()

Token AbsFileStream::readNumber ( )
protected

◆ readString()

Token AbsFileStream::readString ( )
protected

◆ readToken()

Token AbsFileStream::readToken ( )
virtual

Read single token from file.

Implements TokenStream.

Definition at line 42 of file AbsFileStream.cpp.

References curr_char, TokenStream::curr_line, fillLine(), Token::IS_DELIMITER, Token::IS_EOF, Token::IS_ERROR, line, TokenStream::put_back, TokenStream::put_back_flag, readNumber(), readString(), readToken(), readWord(), skipComments(), and TokenStream::stream_name.

Referenced by readToken().

Here is the call graph for this function:

◆ readWord()

Token AbsFileStream::readWord ( )
protected

Definition at line 260 of file AbsFileStream.cpp.

References curr_char, TokenStream::curr_line, Token::IS_WORD, line, and TokenStream::stream_name.

Referenced by readToken().

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References RCObject::refCount.

◆ skipComments()

bool AbsFileStream::skipComments ( )
protected

Definition at line 278 of file AbsFileStream.cpp.

References curr_char, fillLine(), line, and skipComments().

Referenced by readToken(), and skipComments().

Here is the call graph for this function:

Member Data Documentation

◆ curr_char

int AbsFileStream::curr_char
protected

◆ curr_line

int TokenStream::curr_line
protectedinherited

◆ line

std::string AbsFileStream::line
protected

◆ put_back

Token TokenStream::put_back
protectedinherited

◆ put_back_flag

bool TokenStream::put_back_flag
protectedinherited

◆ refCount

int RCObject::refCount
mutableprivateinherited

◆ stream_name

std::string TokenStream::stream_name
protectedinherited

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