LibreOffice Module idl (master) 1
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SvTokenStream Class Reference

#include <lex.hxx>

Public Member Functions

 SvTokenStream (const OUString &rFileName)
 
 ~SvTokenStream ()
 
const OUString & GetFileName () const
 
SvStreamGetStream ()
 
SvTokenGetToken_PrevAll ()
 
SvTokenGetToken_Next ()
 
SvTokenGetToken () const
 
bool ReadIf (char cChar)
 
void ReadIfDelimiter ()
 
sal_uInt32 Tell () const
 
void Seek (sal_uInt32 nPos)
 
void SeekToMax ()
 

Private Member Functions

void InitCtor ()
 
char GetNextChar ()
 
char GetFastNextChar ()
 
void FillTokenList ()
 
sal_uInt64 GetNumber ()
 
bool MakeToken (SvToken &)
 
bool IsEof () const
 
void SetMax ()
 
void CalcColumn ()
 

Private Attributes

sal_uInt64 nLine
 
sal_uInt64 nColumn
 
sal_Int32 nBufPos
 
char c
 
OString aStrTrue
 
OString aStrFalse
 
sal_uInt32 nMaxPos
 
std::unique_ptr< SvFileStreampInStream
 
OUString aFileName
 
std::vector< std::unique_ptr< SvToken > > aTokList
 
std::vector< std::unique_ptr< SvToken > >::iterator pCurToken
 
OString aBufStr
 

Static Private Attributes

static const sal_uInt16 nTabSize = 4
 

Detailed Description

Definition at line 99 of file lex.hxx.

Constructor & Destructor Documentation

◆ SvTokenStream()

SvTokenStream::SvTokenStream ( const OUString &  rFileName)

Definition at line 84 of file lex.cxx.

References InitCtor(), and STD_READ.

◆ ~SvTokenStream()

SvTokenStream::~SvTokenStream ( )

Definition at line 91 of file lex.cxx.

Member Function Documentation

◆ CalcColumn()

void SvTokenStream::CalcColumn ( )
inlineprivate

Definition at line 136 of file lex.hxx.

References aBufStr, c, n, nBufPos, nColumn, and nTabSize.

Referenced by MakeToken().

◆ FillTokenList()

void SvTokenStream::FillTokenList ( )
private

◆ GetFastNextChar()

char SvTokenStream::GetFastNextChar ( )
inlineprivate

Definition at line 119 of file lex.hxx.

References aBufStr, and nBufPos.

Referenced by GetNumber(), and MakeToken().

◆ GetFileName()

const OUString & SvTokenStream::GetFileName ( ) const
inline

Definition at line 151 of file lex.hxx.

References aFileName.

Referenced by SvIdlDataBase::WriteError().

◆ GetNextChar()

char SvTokenStream::GetNextChar ( )
private

Definition at line 127 of file lex.cxx.

References aBufStr, nBufPos, nColumn, nLine, nTabSize, and pInStream.

Referenced by InitCtor(), and MakeToken().

◆ GetNumber()

sal_uInt64 SvTokenStream::GetNumber ( )
private

Definition at line 151 of file lex.cxx.

References c, and GetFastNextChar().

Referenced by MakeToken().

◆ GetStream()

SvStream & SvTokenStream::GetStream ( )
inline

Definition at line 152 of file lex.hxx.

References pInStream.

Referenced by SvIdlDataBase::ReadIdFile(), and SvIdlParser::ReadInclude().

◆ GetToken()

SvToken & SvTokenStream::GetToken ( ) const
inline

◆ GetToken_Next()

SvToken & SvTokenStream::GetToken_Next ( )
inline

◆ GetToken_PrevAll()

SvToken & SvTokenStream::GetToken_PrevAll ( )
inline

Definition at line 154 of file lex.hxx.

References aTokList, and pCurToken.

Referenced by SvIdlDataBase::WriteError().

◆ InitCtor()

void SvTokenStream::InitCtor ( )
private

Definition at line 73 of file lex.cxx.

References aStrFalse, aStrTrue, c, FillTokenList(), GetNextChar(), nBufPos, nColumn, nLine, and nMaxPos.

Referenced by SvTokenStream().

◆ IsEof()

bool SvTokenStream::IsEof ( ) const
inlineprivate

Definition at line 129 of file lex.hxx.

References pInStream.

Referenced by MakeToken().

◆ MakeToken()

bool SvTokenStream::MakeToken ( SvToken rToken)
private

◆ ReadIf()

bool SvTokenStream::ReadIf ( char  cChar)
inline

◆ ReadIfDelimiter()

void SvTokenStream::ReadIfDelimiter ( )
inline

◆ Seek()

void SvTokenStream::Seek ( sal_uInt32  nPos)
inline

◆ SeekToMax()

void SvTokenStream::SeekToMax ( )
inline

Definition at line 208 of file lex.hxx.

References aTokList, nMaxPos, and pCurToken.

Referenced by SvIdlDataBase::WriteError().

◆ SetMax()

void SvTokenStream::SetMax ( )
inlineprivate

Definition at line 130 of file lex.hxx.

References n, nMaxPos, and Tell().

Referenced by GetToken_Next(), and Seek().

◆ Tell()

sal_uInt32 SvTokenStream::Tell ( ) const
inline

Member Data Documentation

◆ aBufStr

OString SvTokenStream::aBufStr
private

Definition at line 114 of file lex.hxx.

Referenced by CalcColumn(), GetFastNextChar(), and GetNextChar().

◆ aFileName

OUString SvTokenStream::aFileName
private

Definition at line 110 of file lex.hxx.

Referenced by GetFileName().

◆ aStrFalse

OString SvTokenStream::aStrFalse
private

Definition at line 106 of file lex.hxx.

Referenced by InitCtor(), and MakeToken().

◆ aStrTrue

OString SvTokenStream::aStrTrue
private

Definition at line 105 of file lex.hxx.

Referenced by InitCtor(), and MakeToken().

◆ aTokList

std::vector<std::unique_ptr<SvToken> > SvTokenStream::aTokList
private

Definition at line 111 of file lex.hxx.

Referenced by FillTokenList(), GetToken_Next(), GetToken_PrevAll(), Seek(), SeekToMax(), and Tell().

◆ c

char SvTokenStream::c
private

Definition at line 103 of file lex.hxx.

Referenced by CalcColumn(), GetNumber(), InitCtor(), and MakeToken().

◆ nBufPos

sal_Int32 SvTokenStream::nBufPos
private

Definition at line 102 of file lex.hxx.

Referenced by CalcColumn(), GetFastNextChar(), GetNextChar(), and InitCtor().

◆ nColumn

sal_uInt64 SvTokenStream::nColumn
private

Definition at line 101 of file lex.hxx.

Referenced by CalcColumn(), GetNextChar(), InitCtor(), and MakeToken().

◆ nLine

sal_uInt64 SvTokenStream::nLine
private

Definition at line 101 of file lex.hxx.

Referenced by GetNextChar(), InitCtor(), and MakeToken().

◆ nMaxPos

sal_uInt32 SvTokenStream::nMaxPos
private

Definition at line 107 of file lex.hxx.

Referenced by InitCtor(), SeekToMax(), and SetMax().

◆ nTabSize

const sal_uInt16 SvTokenStream::nTabSize = 4
staticprivate

Definition at line 104 of file lex.hxx.

Referenced by CalcColumn(), GetNextChar(), and MakeToken().

◆ pCurToken

std::vector<std::unique_ptr<SvToken>>::iterator SvTokenStream::pCurToken
private

Definition at line 112 of file lex.hxx.

Referenced by FillTokenList(), GetToken_Next(), GetToken_PrevAll(), Seek(), SeekToMax(), and Tell().

◆ pInStream

std::unique_ptr<SvFileStream> SvTokenStream::pInStream
private

Definition at line 109 of file lex.hxx.

Referenced by GetNextChar(), GetStream(), IsEof(), and MakeToken().


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