RagTime5TextInternal::TextCParser Struct Referencefinal

low level: parser of text cluster More...

Inheritance diagram for RagTime5TextInternal::TextCParser:

## Public Types
enum | { F_block , F_indexList , F_footnote , F_linkDefs =F_footnote+2 , F_parentLink =F_linkDefs+5 , F_nextId , F_plc , F_plcToStyle , F_text , F_textDefs , F_textRoot , F_textList , F_unknLongs =F_textList+3 , F_unknData }

## Public Member Functions
| TextCParser (RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
| constructor
| ~TextCParser () final
| destructor
std::shared_ptr< RagTime5ClusterManager::Cluster > | getCluster () final
| return the current cluster
std::shared_ptr< ClusterText > | getTextCluster ()
| return the text cluster
void | endZone () final
| end of a start zone call
bool | parseZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
| parse a zone
bool | parseField (RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
| parse a field
Public Member Functions inherited from RagTime5ClusterManager::ClusterParser
| ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
| constructor
virtual | ~ClusterParser ()
| destructor
virtual std::string | getZoneName () const
| return the debug name corresponding to a zone
virtual std::string | getZoneName (int n, int m=-1) const
| return the debug name corresponding to a cluster
virtual void | startZone ()
| start a new zone
virtual int | getNewZoneToParse ()
| returns to new zone to parse.
bool | isANameHeader (long N) const
| return true if N correspond to a file/script name
bool | readLinkHeader (MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
| try to read a link header
std::string | getClusterDebugName (int id)
| returns "data"+id+"A" ( followed by the cluster type and name if know)

## Protected Member Functions
bool | parseDataZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
| parse a data block
bool | parseHeaderZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
| parse the header zone
bool | parseZoneBlock (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
| parse a zone block

## Protected Attributes
std::shared_ptr< ClusterText > | m_cluster
| the current cluster
std::map< int, int > | m_expectedIdToType
| the expected id
std::map< int, size_t > | m_NToBlockIdMap
| the field pos to block map
std::string | m_fieldName
| the actual field name
libmwaw::DebugFile & | m_asciiFile
| the ascii file

## Private Member Functions
| TextCParser (TextCParser const &orig)=delete
| copy constructor (not implemented)
TextCParser & | operator= (TextCParser const &orig)=delete
| copy operator (not implemented)

## Additional Inherited Members
Public Attributes inherited from RagTime5ClusterManager::ClusterParser
RagTime5ClusterManager & | m_parser
| the main parser
int | m_type
| the cluster type
bool | m_hiLoEndian
| zone endian
std::string | m_name
| the cluster name
int | m_dataId
| the actual zone id
Link | m_link
| the actual link

## Detailed Description

low level: parser of text cluster

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
F_block |
F_indexList |
F_footnote |
F_linkDefs |
F_parentLink |
F_nextId |
F_plc |
F_plcToStyle |
F_text |
F_textDefs |
F_textRoot |
F_textList |
F_unknLongs |
F_unknData |

## Constructor & Destructor Documentation

## ◆ TextCParser() [1/2]

RagTime5TextInternal::TextCParser::TextCParser | ( | RagTime5ClusterManager & | parser,
|  | int | type,
|  | libmwaw::DebugFile & | ascii )
| inline

constructor

Referenced by operator=(), and TextCParser().

## ◆ ~TextCParser()

RagTime5TextInternal::TextCParser::~TextCParser | ( |  | ) |
| final

destructor

## ◆ TextCParser() [2/2]

RagTime5TextInternal::TextCParser::TextCParser | ( | TextCParser const & | orig | ) |
| private delete

copy constructor (not implemented)

## Member Function Documentation

## ◆ endZone()

void RagTime5TextInternal::TextCParser::endZone | ( |  | ) |
| inline final virtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

## ◆ getCluster()

std::shared_ptr< RagTime5ClusterManager::Cluster > RagTime5TextInternal::TextCParser::getCluster | ( |  | ) |
| inline final virtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

Referenced by getCluster().

## ◆ getTextCluster()

std::shared_ptr< ClusterText > RagTime5TextInternal::TextCParser::getTextCluster | ( |  | ) |
| inline

return the text cluster

Referenced by RagTime5Text::readTextCluster().

## ◆ operator=()

TextCParser & RagTime5TextInternal::TextCParser::operator= | ( | TextCParser const & | orig | ) |
| private delete

copy operator (not implemented)

## ◆ parseDataZone()

bool RagTime5TextInternal::TextCParser::parseDataZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )
| inline protected

parse a data block

Referenced by parseZone().

## ◆ parseField()

bool RagTime5TextInternal::TextCParser::parseField | ( | RagTime5StructManager::Field const & | field,
|  | int | ,
|  | libmwaw::DebugStream & | f )
| inline final virtual

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

## ◆ parseHeaderZone()

bool RagTime5TextInternal::TextCParser::parseHeaderZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )
| inline protected

parse the header zone

Referenced by parseZone().

## ◆ parseZone()

bool RagTime5TextInternal::TextCParser::parseZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )
| inline final virtual

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

## ◆ parseZoneBlock()

bool RagTime5TextInternal::TextCParser::parseZoneBlock | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )
| inline protected

parse a zone block

Referenced by parseZone().

## Member Data Documentation

## ◆ m_asciiFile

libmwaw::DebugFile& RagTime5TextInternal::TextCParser::m_asciiFile
| protected

the ascii file

Referenced by TextCParser().

## ◆ m_cluster

std::shared_ptr<ClusterText> RagTime5TextInternal::TextCParser::m_cluster
| protected

the current cluster

Referenced by endZone(), getCluster(), getTextCluster(), parseDataZone(), parseField(), parseHeaderZone(), parseZoneBlock(), and TextCParser().

## ◆ m_expectedIdToType

std::map<int,int> RagTime5TextInternal::TextCParser::m_expectedIdToType
| protected

the expected id

Referenced by endZone(), parseDataZone(), parseField(), parseHeaderZone(), parseZone(), parseZoneBlock(), and TextCParser().

## ◆ m_fieldName

std::string RagTime5TextInternal::TextCParser::m_fieldName
| protected

the actual field name

Referenced by parseDataZone(), parseField(), parseHeaderZone(), parseZone(), parseZoneBlock(), and TextCParser().

## ◆ m_NToBlockIdMap

std::map<int, size_t> RagTime5TextInternal::TextCParser::m_NToBlockIdMap
| protected

the field pos to block map

Referenced by parseField(), parseZoneBlock(), and TextCParser().

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

- RagTime5Text.cxx