40 #ifndef _uimarkupparser_h
41 #define _uimarkupparser_h
44 #include "colourvalue.h"
53 class CharacterTraits;
88 virtual const String& GetName()
const = 0;
91 virtual Boole IsRangeTag()
const = 0;
159 virtual void Initialize() = 0;
188 virtual String GetName()
const = 0;
191 virtual Char8 GetMarkupTagStart()
const = 0;
194 virtual Char8 GetMarkupTagEnd()
const = 0;
This class represents a normal text segment from the source string.
std::list< Character * > CharacterContainer
Basic container type for the storage of Character instances used during processing by this class...
This is a base class for tags that implement the functionality of a markup language.
This is a helper class that facilitates operations with collections of tokens generated from Markup P...
TagContainer::iterator TagIterator
Iterator type for MarkupTag instances stored by this class.
bool Boole
Generally acts a single bit, true or false.
std::vector< TextToken * > TokenContainer
Basic container type for the storage of TextToken instances used during processing by this class...
TagVector::const_iterator ConstTagVecIterator
Const Iterator type for TokenTagPair instances being processed by this class.
TokenContainer::iterator TokenIterator
Iterator type for TextToken instances being processed by this class.
CharacterContainer::const_iterator ConstCharacterIterator
Const Iterator type for Character instances stored by this class.
TagVector::iterator TagVecIterator
Iterator type for TokenTagPair instances being processed by this class.
CharacterContainer::iterator CharacterIterator
Iterator type for Character instances being processed by this class.
CharacterContainer::const_iterator ConstCharacterIterator
Const Iterator type for Character instances being processed by this class.
This class stores common data for determining the look of a Character.
TagContainer::const_iterator ConstTagIterator
Const Iterator type for MarkupTag instances stored by this class.
char Char8
A datatype to represent one character.
MarkupTag()
Class constructor.
virtual ~MarkupTag()
Class destructor.
TagContainer Tags
Map of tags recognized by this parser.
std::map< String, MarkupTag * > TagContainer
Basic container type for the storage of MarkupTag instances by this class.
std::pair< Boole, Character * > ProcessResult
An std::pair used to report the result of a MarkupTag being processed any the character it may have g...
This file describes and implements a reference counted pointer that is NOT threadsafe.
TokenContainer::const_iterator ConstTokenIterator
Const Iterator type for TextToken instances being processed by this class.
std::pair< TagToken *, MarkupTag * > TokenTagPair
An std::pair type used to map a TagToken to the MarkupTag implementation it is calling.
CharacterContainer::iterator CharacterIterator
Iterator type for Character instances stored by this class.
The bulk of the engine components go in this namspace.
std::list< Character * > CharacterContainer
Basic container type for the storage of Character instances by this class.
std::vector< TokenTagPair > TagVector
Basic container type for the storage of TokenTagPair instances used during processing by this class...
This is a base class for the parsing of markup texts contained in text layers.
std::map< String, String > NameValuePairMap
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
std::string String
A datatype used to a series of characters.
This is a base class for render layers that render text.