Doxygen
Loading...
Searching...
No Matches
DocEmoji Class Referencefinal

Node representing an emoji. More...

#include <src/docnode.h>

Inheritance diagram for DocEmoji:
Collaboration diagram for DocEmoji:

Public Member Functions

 DocEmoji (DocParser *parser, DocNodeVariant *parent, const DString &symName)
DString name () const
int index () const
Public Member Functions inherited from DocNode
 DocNode (DocParser *parser, DocNodeVariant *parent)
 ~DocNode ()=default
DocNodeVariantparent ()
const DocNodeVariantparent () const
DocNodeVariantthisVariant ()
const DocNodeVariantthisVariant () const
void setThisVariant (DocNodeVariant *thisVariant)
DocParserparser ()
const DocParserparser () const
void setParent (DocNodeVariant *parent)
bool isPreformatted () const

Private Attributes

DString m_symName
int m_index = 0

Additional Inherited Members

Protected Types inherited from DocNode
enum  RefType {
  Unknown , Anchor , Section , Table ,
  Requirement
}
Protected Member Functions inherited from DocNode
void setInsidePreformatted (bool p)

Detailed Description

Node representing an emoji.

Definition at line 340 of file docnode.h.

Constructor & Destructor Documentation

◆ DocEmoji()

DocEmoji::DocEmoji ( DocParser * parser,
DocNodeVariant * parent,
const DString & symName )

Definition at line 167 of file docnode.cpp.

167 :
168 DocNode(parser,parent), m_symName(symName), m_index(-1)
169{
170 DString locSymName = symName;
171 size_t len=locSymName.length();
172 if (len>0)
173 {
174 if (locSymName.at(len-1)!=':') locSymName.append(":");
175 if (locSymName.at(0)!=':') locSymName.prepend(":");
176 }
177 m_symName = locSymName;
179 if (m_index==-1)
180 {
181 warn_doc_error(parser->context.fileName,parser->tokenizer.getLineNr(),"Found unsupported emoji symbol '{}'",m_symName);
182 }
183}
char & at(size_t i)
Returns a reference to the character at index i.
Definition dstring.h:686
DString & append(char c)
Definition dstring.h:489
DString & prepend(const char *s)
Definition dstring.h:515
const std::string & str() const
Definition dstring.h:645
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:151
DString m_symName
Definition docnode.h:348
int m_index
Definition docnode.h:349
DocNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:84
DocParser * parser()
Definition docnode.h:97
DocNodeVariant * parent()
Definition docnode.h:89
DocTokenizer tokenizer
DocParserContext context
int getLineNr() const
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1981
int symbol2index(const std::string &symName) const
Returns a code for the requested Emoji entity name.
Definition emoji.cpp:1993
#define warn_doc_error(file, line, fmt,...)
Definition message.h:112

References DString::append(), DString::at(), DocParser::context, DocNode::DocNode(), DocParserContext::fileName, DocTokenizer::getLineNr(), EmojiEntityMapper::instance(), DString::length(), m_index, m_symName, DocNode::parent(), DocNode::parser(), DString::prepend(), DString::str(), EmojiEntityMapper::symbol2index(), DocParser::tokenizer, and warn_doc_error.

Member Function Documentation

◆ index()

◆ name()

Member Data Documentation

◆ m_index

int DocEmoji::m_index = 0
private

Definition at line 349 of file docnode.h.

Referenced by DocEmoji(), and index().

◆ m_symName

DString DocEmoji::m_symName
private

Definition at line 348 of file docnode.h.

Referenced by DocEmoji(), and name().


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