|
/********************************************************************\
created: 2001/03/04
created: 4:3:2001 12:51
filename: Parser\prsBase.h
file path: .\Parser
file base: prsBase
file ext: h
author: Alex Kucherenko
purpose:
\********************************************************************/
#ifndef _PARSER_TODO_BASE_CLASSES_H_
#define _PARSER_TODO_BASE_CLASSES_H_
#ifndef PURE
#define PURE =0
#endif
//////////////////////////////////////////////////////////////////////////
// Template used for defining in classes iterator functions
template < class T >
class CToDoIterator
{
public:
virtual T* First( ) PURE;
virtual T* Next ( ) PURE;
virtual T* Prev ( ) PURE;
virtual T* Last ( ) PURE;
};
//////////////////////////////////////////////////////////////////////////
//
class CToDoBaseParser
{
public:
// default constructor
CToDoBaseParser() { };
// destructor
virtual ~CToDoBaseParser( ) { };
// Constructor which set FileName var
CToDoBaseParser( const string &FileName ) : m_strFileName( FileName ) { };
// Function starts parsing procedure in class
virtual long StartParsing()
{
long tmpRet = 0;
ClearAllElements();
try { tmpRet = ParseEngine(); }
catch( CToDoException ex ) { };
return tmpRet;
};
// Function return FileName of file which will be parsed
string GetFileName( void ) const
{
return m_strFileName;
}
// Fuction set FileName of file which will be parsed
void SetFileName( const string &FileName )
{
m_strFileName = FileName;
};
// Function clear all element in map
virtual void ClearAllElements( void ) PURE;
protected:
// Parsing Engine which do main job in class
virtual long ParseEngine( ) PURE;
private:
// File name of file for parsing
string m_strFileName;
};
#endif /* _PARSER_TODO_BASE_CLASSES_H_ */
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.