Source-highlight Library
srchilite::CharTranslator Class Reference

Translates specific character sequences into corresponding ones; it can also use regular expression for the characters to be translated. More...

#include <chartranslator.h>

Inheritance diagram for srchilite::CharTranslator:
Collaboration diagram for srchilite::CharTranslator:

Public Member Functions

 CharTranslator (PreFormatterPtr f=PreFormatterPtr())
 
void set_translation (const std::string &s1, const std::string &s2)
 Adds a translation pair. More...
 
const std::string toString () const
 returns a string representation: what we translate and into what we translate
 
void setPreFormatter (PreFormatterPtr f)
 Sets the nested preformatter. More...
 
const std::string preformat (const std::string &text)
 Preformats the passed string (public version) More...
 

Protected Member Functions

virtual const std::string doPreformat (const std::string &text)
 The actual preformatting (char translation) More...
 

Protected Attributes

unsigned int counter
 keeps track of the translation patterns added
 
std::string translation_exp
 the translation regular expression (for buffering)
 
std::string translation_format
 the corresponding translated regular expression (for buffering)
 
boost::regex * reg_exp
 the actual regular expression
 
bool bol
 whether we are at the beginning of a new line
 

Detailed Description

Translates specific character sequences into corresponding ones; it can also use regular expression for the characters to be translated.

This is useful for translating some characters in the input which are special characters in the output formats, e.g., & in LaTeX, or < in HTML.

Constructor & Destructor Documentation

srchilite::CharTranslator::CharTranslator ( PreFormatterPtr  f = PreFormatterPtr())
Parameters
fthe decorated preformatter

Member Function Documentation

const string srchilite::CharTranslator::doPreformat ( const std::string &  text)
protectedvirtual

The actual preformatting (char translation)

Parameters
textwhat to translate
Returns
the translated string

Reimplemented from srchilite::PreFormatter.

const string srchilite::PreFormatter::preformat ( const std::string &  text)
inherited

Preformats the passed string (public version)

Parameters
textthe string to be preformatted
Returns
the preformatted string
void srchilite::CharTranslator::set_translation ( const std::string &  s1,
const std::string &  s2 
)

Adds a translation pair.

Parameters
s1what to translate
s2the translated expression
void srchilite::PreFormatter::setPreFormatter ( PreFormatterPtr  f)
inherited

Sets the nested preformatter.

Parameters
fthe nested (decorated) preformatter

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