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 165 of file docnode.cpp.

165 :
166 DocNode(parser,parent), m_symName(symName), m_index(-1)
167{
168 DString locSymName = symName;
169 size_t len=locSymName.length();
170 if (len>0)
171 {
172 if (locSymName.at(len-1)!=':') locSymName.append(":");
173 if (locSymName.at(0)!=':') locSymName.prepend(":");
174 }
175 m_symName = locSymName;
177 if (m_index==-1)
178 {
179 warn_doc_error(parser->context.fileName,parser->tokenizer.getLineNr(),"Found unsupported emoji symbol '{}'",m_symName);
180 }
181}
char & at(size_t i)
Returns a reference to the character at index i.
Definition dstring.h:690
DString & append(char c)
Definition dstring.h:493
DString & prepend(const char *s)
Definition dstring.h:519
const std::string & str() const
Definition dstring.h:649
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:155
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:1978
int symbol2index(const std::string &symName) const
Returns a code for the requested Emoji entity name.
Definition emoji.cpp:1990
#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: