Doxygen
Loading...
Searching...
No Matches
DString Class Reference

A String class for use with Doxygen wrapping std::string and adding some additional functionality offered by QCString. More...

#include <src/dstring.h>

Public Types

enum  SizeTag { ExplicitSize }
 creates a string with room for size characters More...
using value_type = std::string::value_type
using size_type = std::string::size_type
using reference = std::string::reference
using const_reference = std::string::const_reference
using iterator = std::string::iterator
using const_iterator = std::string::const_iterator
using reverse_iterator = std::string::reverse_iterator
using const_reverse_iterator = std::string::const_reverse_iterator

Public Member Functions

 DString ()=default
 DString (const DString &)=default
DStringoperator= (const DString &)=default
 DString (DString &&)=default
DStringoperator= (DString &&)=default
 ~DString ()=default
 DString (const std::string &s)
 DString (std::string &&s)
DStringoperator= (std::string &&s)
 DString (std::string_view sv)
DStringoperator= (std::string_view sv)
 DString (int)=delete
 DString (const JavaCCString &s)
 For converting a JavaCC string.
DStringoperator= (const JavaCCString &s)
 DString (size_t size, SizeTag t)
 DString (const char *str)
 creates a string from a plain C string.
 DString (const char *str, size_t maxlen)
 creates a string from str and copies over the first maxlen characters.
DStringoperator= (const char *str)
 replaces the contents by that of C string str.
DStringoperator= (const std::string &s)
bool empty () const
 Returns true iff the string is empty (std::string compatible alias for isEmpty()).
size_t length () const
 Returns the length of the string, not counting the 0-terminator.
size_t size () const
 Returns the length of the string, not counting the 0-terminator.
const char * data () const
 Returns a pointer to the contents of the string in the form of a 0-terminated C string.
const char * c_str () const
 Returns a pointer to the contents of the string in the form of a 0-terminated C string.
std::string_view view () const
char * rawData ()
 Returns a writable pointer to the data.
iterator begin ()
const_iterator begin () const
const_iterator cbegin () const
iterator end ()
const_iterator end () const
const_iterator cend () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
const_reverse_iterator crbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
const_reverse_iterator crend () const
char & front ()
 Returns a reference to the first character.
const char & front () const
char & back ()
 Returns a reference to the last character.
const char & back () const
void push_back (char c)
void pop_back ()
size_t capacity () const
size_t max_size () const
void shrink_to_fit ()
void resize (size_t newlen)
void resize (size_t newlen, char c)
 Resizes the string to newlen characters, filling any new characters with c.
void clear ()
void reserve (size_t size)
 Reserve space for size bytes without changing the string contents.
void swap (DString &other)
 Swaps the contents of this string with other.
DString substr (size_t pos=0, size_t count=npos) const
 Returns a substring of length count starting at pos.
size_t copy (char *dest, size_t count, size_t pos=0) const
 Copies (up to) count characters into dest, starting at pos.
int compare (const DString &s) const
int compare (const char *s) const
int compare (const std::string &s) const
DStringerase (size_t index=0, size_t count=npos)
DStringassign (const char *s)
DStringassign (const DString &s)
DStringassign (const std::string &s)
DStringassign (std::string_view s)
size_t find (char c, size_t pos=0) const
size_t find (const char *s, size_t pos=0) const
size_t find (const DString &s, size_t pos=0) const
size_t find (const std::string &s, size_t pos=0) const
size_t rfind (char c, size_t pos=npos) const
size_t rfind (const char *s, size_t pos=npos) const
size_t rfind (const DString &s, size_t pos=npos) const
size_t rfind (const std::string &s, size_t pos=npos) const
size_t rfind_insensitive (char c, size_t pos=npos) const
size_t rfind_insensitive (const char *str, size_t pos=npos) const
size_t find_first_of (char c, size_t pos=0) const
size_t find_first_of (const char *s, size_t pos=0) const
size_t find_first_of (const DString &s, size_t pos=0) const
size_t find_first_of (const std::string &s, size_t pos=0) const
size_t find_last_of (char c, size_t pos=npos) const
size_t find_last_of (const char *s, size_t pos=npos) const
size_t find_last_of (const DString &s, size_t pos=npos) const
size_t find_last_of (const std::string &s, size_t pos=npos) const
size_t find_first_not_of (char c, size_t pos=0) const
size_t find_first_not_of (const char *s, size_t pos=0) const
size_t find_first_not_of (const DString &s, size_t pos=0) const
size_t find_first_not_of (const std::string &s, size_t pos=0) const
size_t find_last_not_of (char c, size_t pos=npos) const
size_t find_last_not_of (const char *s, size_t pos=npos) const
size_t find_last_not_of (const DString &s, size_t pos=npos) const
size_t find_last_not_of (const std::string &s, size_t pos=npos) const
DString fill (char c, size_t len)
 Fills a string with a predefined character.
DStringsprintf (const char *format,...)
int contains (char c, bool cs=true) const
int contains (const char *str, bool cs=true) const
bool stripPrefix (const DString &prefix)
bool stripPrefix (const char *prefix)
DString left (size_t len) const
DString right (size_t len) const
DString mid (size_t index, size_t len=npos) const
DString lower () const
DString upper () const
DString stripWhiteSpace () const
 returns a copy of this string with leading and trailing whitespace removed
DString stripLeadingAndTrailingEmptyLines () const
DString quoted () const
DString removeWhiteSpace () const
 returns a copy of this string with all whitespace removed
DString simplifyWhiteSpace () const
 return a copy of this string with leading and trailing whitespace removed and multiple internal whitespace characters replaced by a single space
bool findAndRemoveWord (const char *word)
 removes occurrences of whole word from this string, while keeping internal spaces and reducing multiple sequences of spaces.
bool containsWord (const char *word) const
 returns true if this string contains word as a whole word, false otherwise.
DString repeat (unsigned int n) const
DStringinsert (size_t index, const DString &s)
DStringinsert (size_t index, std::string_view s)
DStringinsert (size_t index, const char *s)
DStringinsert (size_t index, char c)
DStringappend (char c)
DStringappend (const char *s)
DStringappend (const DString &s)
DStringappend (const std::string &s)
DStringappend (std::string_view s)
DStringprepend (const char *s)
DStringprepend (const DString &s)
DStringprepend (const std::string &s)
DStringprepend (std::string_view s)
DStringremove (size_t index, size_t len)
DStringreplace (size_t index, size_t len, const char *s)
short toShort (bool *ok=nullptr, int base=10) const
uint16_t toUShort (bool *ok=nullptr, int base=10) const
int toInt (bool *ok=nullptr, int base=10) const
uint32_t toUInt (bool *ok=nullptr, int base=10) const
long toLong (bool *ok=nullptr, int base=10) const
unsigned long toULong (bool *ok=nullptr, int base=10) const
uint64_t toUInt64 (bool *ok=nullptr, int base=10) const
DStringsetNum (short n)
DStringsetNum (uint16_t n)
DStringsetNum (int n)
DStringsetNum (uint32_t n)
DStringsetNum (long n)
DStringsetNum (long long n)
DStringsetNum (unsigned long long n)
DStringsetNum (unsigned long n)
bool startsWith (const char *s) const
bool startsWith (const std::string &s) const
bool startsWith (const DString &s) const
bool endsWith (const char *s) const
bool endsWith (const std::string &s) const
bool endsWith (const DString &s) const
const std::string & str () const
DStringoperator+= (const DString &s)
DStringoperator+= (const std::string &s)
DStringoperator+= (std::string_view s)
DStringoperator+= (const char *s)
 Appends string str to this string and returns a reference to the result.
char & at (size_t i)
 Returns a reference to the character at index i.
const char & at (size_t i) const
char & operator[] (size_t i)
 Indexing operator.
const char & operator[] (size_t i) const

Static Public Member Functions

static DString integerToAlpha (int n, bool upper=true)
static DString integerToRoman (int n, bool upper=true)

Static Public Attributes

static constexpr size_t npos = std::string::npos
 value used to indicate 'not found' or 'to the end of the string', matching std::string::npos

Private Attributes

std::string m_rep

Detailed Description

A String class for use with Doxygen wrapping std::string and adding some additional functionality offered by QCString.

QCString is part of qtools which was used as a portability layer in the past.

Definition at line 83 of file dstring.h.

Member Typedef Documentation

◆ const_iterator

using DString::const_iterator = std::string::const_iterator

Definition at line 173 of file dstring.h.

◆ const_reference

using DString::const_reference = std::string::const_reference

Definition at line 171 of file dstring.h.

◆ const_reverse_iterator

using DString::const_reverse_iterator = std::string::const_reverse_iterator

Definition at line 175 of file dstring.h.

◆ iterator

using DString::iterator = std::string::iterator

Definition at line 172 of file dstring.h.

◆ reference

using DString::reference = std::string::reference

Definition at line 170 of file dstring.h.

◆ reverse_iterator

using DString::reverse_iterator = std::string::reverse_iterator

Definition at line 174 of file dstring.h.

◆ size_type

using DString::size_type = std::string::size_type

Definition at line 169 of file dstring.h.

◆ value_type

using DString::value_type = std::string::value_type

Definition at line 168 of file dstring.h.

Member Enumeration Documentation

◆ SizeTag

creates a string with room for size characters

Parameters
[in]sizethe number of character to allocate (also counting the 0-terminator!)
Enumerator
ExplicitSize 

Definition at line 131 of file dstring.h.

131{ ExplicitSize };
@ ExplicitSize
Definition dstring.h:131

Constructor & Destructor Documentation

◆ DString() [1/11]

◆ DString() [2/11]

DString::DString ( const DString & )
default

References DString().

◆ DString() [3/11]

DString::DString ( DString && )
default

References DString().

◆ ~DString()

DString::~DString ( )
default

◆ DString() [4/11]

DString::DString ( const std::string & s)
inline

Definition at line 93 of file dstring.h.

93: m_rep(s) {}
std::string m_rep
Definition dstring.h:711

References m_rep.

◆ DString() [5/11]

DString::DString ( std::string && s)
inline

Definition at line 95 of file dstring.h.

95: m_rep(std::move(s)) {}

References m_rep.

◆ DString() [6/11]

DString::DString ( std::string_view sv)
inline

Definition at line 103 of file dstring.h.

103: m_rep(sv) {}

References m_rep.

◆ DString() [7/11]

DString::DString ( int )
delete

◆ DString() [8/11]

DString::DString ( const JavaCCString & s)
inline

For converting a JavaCC string.

Definition at line 115 of file dstring.h.

116 {
117 m_rep.resize(s.size());
118 std::memcpy(m_rep.data(),s.data(),s.size());
119 }

References m_rep.

◆ DString() [9/11]

DString::DString ( size_t size,
SizeTag t )
inlineexplicit

Definition at line 132 of file dstring.h.

132{ m_rep.resize(size); }
size_t size() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:154

References m_rep, and size().

◆ DString() [10/11]

DString::DString ( const char * str)
inline

creates a string from a plain C string.

Parameters
[in]strA zero terminated C string. When 0 an empty string is created.

Definition at line 137 of file dstring.h.

137: m_rep(str?str:"") {}
const std::string & str() const
Definition dstring.h:645

References m_rep, and str().

◆ DString() [11/11]

DString::DString ( const char * str,
size_t maxlen )
inline

creates a string from str and copies over the first maxlen characters.

Definition at line 140 of file dstring.h.

140: m_rep(str?str:"") { m_rep.resize(maxlen); }

References m_rep, and str().

Member Function Documentation

◆ append() [1/5]

◆ append() [2/5]

DString & DString::append ( const char * s)
inline

Definition at line 495 of file dstring.h.

496 {
497 return operator+=(s);
498 }
DString & operator+=(const DString &s)
Definition dstring.h:650

References DString(), and operator+=().

◆ append() [3/5]

DString & DString::append ( const DString & s)
inline

Definition at line 500 of file dstring.h.

501 {
502 return operator+=(s);
503 }

References DString(), and operator+=().

◆ append() [4/5]

DString & DString::append ( const std::string & s)
inline

Definition at line 505 of file dstring.h.

506 {
507 return operator+=(s);
508 }

References DString(), and operator+=().

◆ append() [5/5]

DString & DString::append ( std::string_view s)
inline

Definition at line 510 of file dstring.h.

511 {
512 return operator+=(s);
513 }

References DString(), and operator+=().

◆ assign() [1/4]

DString & DString::assign ( const char * s)
inline

Definition at line 234 of file dstring.h.

234{ return operator=(s); }
DString & operator=(const DString &)=default

References DString(), and operator=().

◆ assign() [2/4]

DString & DString::assign ( const DString & s)
inline

Definition at line 235 of file dstring.h.

235{ m_rep = s.str(); return *this; }

References DString(), m_rep, and str().

◆ assign() [3/4]

DString & DString::assign ( const std::string & s)
inline

Definition at line 236 of file dstring.h.

236{ return operator=(s); }

References DString(), and operator=().

◆ assign() [4/4]

DString & DString::assign ( std::string_view s)
inline

Definition at line 237 of file dstring.h.

237{ return operator=(s); }

References DString(), and operator=().

◆ at() [1/2]

char & DString::at ( size_t i)
inline

Returns a reference to the character at index i.

Definition at line 686 of file dstring.h.

687 {
688 return m_rep[i];
689 }

References m_rep.

Referenced by DefinitionImpl::_setBriefDescription(), abbreviate(), Qhp::addContentsItem(), addGlobalFunction(), addIncludeFile(), addMethodToClass(), addSeparatorsIfNeeded(), addTemplateNames(), addVariableToFile(), adjustConfiguration(), Config::checkAndCorrect(), checkVhdlString(), computeVerifiedDotPath(), configStringRecode(), TranslatorPersian::convertDigitsToFarsi(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), DocEmoji::DocEmoji(), DocLink::DocLink(), elemIsVisible(), expandExpression(), expandVAOpt(), externalRef(), DefinitionImpl::externalReference(), extractPartAfterNewLine(), findDirDocumentation(), findEndOfTemplate(), findEnumDocumentation(), VhdlDocGen::formatString(), PerlModGenerator::generatePerlModForMember(), generateSqlite3ForMember(), generateXMLForMember(), getCanonicalTemplateSpec(), getCurrentChar(), getExtension(), getLanguageFromCodeLang(), getLanguageFromFileName(), getNextChar(), getNextId(), getPrefixIndex(), getScopeDefs(), getScopeFragment(), handleHtmlTag(), DocParser::handleLinkedWord(), DocPara::handleStartCode(), Markdown::Private::isAtxHeader(), DocFormula::isInline(), NamespaceDefImpl::isLinkableInProject(), isVarWithConstructor(), leftScopeMatch(), linkToText(), makeFileName(), makeFileName(), matchExcludedSymbols(), nameIsOperator(), SymbolResolver::Private::newResolveTypedef(), node2URL(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), ManDocVisitor::operator()(), parseCommentAsText(), parseFuncDecl(), Markdown::process(), Markdown::Private::processLink(), processList(), processString(), projectLogoSize(), readCodeFragment(), readIncludeFile(), readIncludeFile(), HtmlHelpRecoder::recode(), recognizeFixedForm(), replaceFunctionMacro(), resolveSymlink(), rightScopeMatch(), runMermaid(), searchInputFiles(), MemberDefImpl::setInitializer(), splitSearchTokens(), startsWithKeyword(), stringize(), stripAnonymousNamespaceScope(), stripComment(), stripIrrelevantString(), stripQuotes(), stripQuotes(), stripScope(), stripTemplateSpecifiers(), stripTemplateSpecifiersFromScope(), stripTrailingWhiteSpace(), substEnvVarsInStrList(), Portable::system(), SearchTerm::termEncoded(), transcodeCharacterStringToUTF8(), Trace::trunc(), updateLanguageMapping(), validatingParseDoc(), MemberDefImpl::writeDocumentation(), writeExceptionList(), VhdlDocGen::writeFormatString(), HtmlGenerator::writeLabel(), MemberDefImpl::writeMemberDocSimple(), writeMemberList(), MermaidManager::writeMermaidSource(), writeObjCMethodCall(), PlantumlManager::writePlantUMLSource(), writeSingleFileIndex(), ConfigOption::writeStringList(), writeWord(), and HtmlEntityMapper::writeXMLSchema().

◆ at() [2/2]

const char & DString::at ( size_t i) const
inline

Definition at line 691 of file dstring.h.

692 {
693 return m_rep[i];
694 }

References m_rep.

◆ back() [1/2]

char & DString::back ( )
inline

Returns a reference to the last character.

Undefined behavior if the string is empty.

Definition at line 199 of file dstring.h.

199{ return m_rep.back(); }

References m_rep.

Referenced by subrHandleCommentBlock(), and subrHandleCommentBlockResult().

◆ back() [2/2]

const char & DString::back ( ) const
inline

Definition at line 200 of file dstring.h.

200{ return m_rep.back(); }

References m_rep.

◆ begin() [1/2]

iterator DString::begin ( )
inline

Definition at line 180 of file dstring.h.

180{ return m_rep.begin(); }

References m_rep.

◆ begin() [2/2]

const_iterator DString::begin ( ) const
inline

Definition at line 181 of file dstring.h.

181{ return m_rep.begin(); }

References m_rep.

◆ c_str()

const char * DString::c_str ( ) const
inline

Returns a pointer to the contents of the string in the form of a 0-terminated C string.

Definition at line 160 of file dstring.h.

160{ return m_rep.c_str(); }

References m_rep.

Referenced by vhdl::parser::VhdlErrorHandler::handleOtherError(), vhdl::parser::VhdlTokenManagerErrorHandler::lexicalError(), and runPlantumlContent().

◆ capacity()

size_t DString::capacity ( ) const
inline

Definition at line 205 of file dstring.h.

205{ return m_rep.capacity(); }

References m_rep.

◆ cbegin()

const_iterator DString::cbegin ( ) const
inline

Definition at line 182 of file dstring.h.

182{ return m_rep.cbegin(); }

References m_rep.

◆ cend()

const_iterator DString::cend ( ) const
inline

Definition at line 185 of file dstring.h.

185{ return m_rep.cend(); }

References m_rep.

◆ clear()

◆ compare() [1/3]

int DString::compare ( const char * s) const
inline

Definition at line 229 of file dstring.h.

229{ return m_rep.compare(s?s:""); }

References m_rep.

◆ compare() [2/3]

int DString::compare ( const DString & s) const
inline

Definition at line 228 of file dstring.h.

228{ return m_rep.compare(s.str()); }

References DString(), m_rep, and str().

◆ compare() [3/3]

int DString::compare ( const std::string & s) const
inline

Definition at line 230 of file dstring.h.

230{ return m_rep.compare(s); }

References m_rep.

◆ contains() [1/2]

int DString::contains ( char c,
bool cs = true ) const

Definition at line 85 of file dstring.cpp.

86{
87 if (length()==0) return 0;
88 int count=0;
89 const char *pos = data();
90 if (cs)
91 {
92 while (*pos) if (*pos++ == c) count++;
93 }
94 else
95 {
96 c = toLowerChar(c);
97 while (*pos)
98 {
99 if (toLowerChar(*pos)==c) count++;
100 pos++;
101 }
102 }
103 return count;
104}
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
Definition dstring.h:157
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:151
char toLowerChar(char c)
Definition dstring.cpp:29

References data(), length(), and toLowerChar().

Referenced by addMacroDefinition(), applyModifiers(), buildScopeFromQualifiedName(), VHDLOutlineParser::checkInlineCode(), DotNode::convertLabel(), hasDateReplacement(), mangleCSharpGenericName(), SymbolModifiers::operator|=(), DocInclude::parse(), VhdlDocGen::parseForConfig(), FlowChart::printPlantUmlNode(), readIncludeFile(), MemberDefImpl::setInitializer(), and writeUCFLink().

◆ contains() [2/2]

int DString::contains ( const char * str,
bool cs = true ) const

Definition at line 106 of file dstring.cpp.

107{
108 if (str==nullptr || length()==0) return 0;
109 int count=0;
110 const char *pos = data();
111 int len = dstrlen(str);
112 while (*pos)
113 {
114 if (cs)
115 {
116 if (dstrncmp(pos,str,len)==0) count++;
117 }
118 else
119 {
120 if (dstrnicmp(pos,str,len)==0) count++;
121 }
122 pos++;
123 }
124 return count;
125}
int dstrnicmp(const char *str1, const char *str2, size_t len)
Definition dstring.cpp:462
int dstrncmp(const char *str1, const char *str2, size_t len)
Definition dstring.h:56
uint32_t dstrlen(const char *str)
Returns the length of string str, or 0 if a null pointer is passed.
Definition dstring.h:39

References data(), dstrlen(), dstrncmp(), dstrnicmp(), length(), and str().

◆ containsWord()

bool DString::containsWord ( const char * word) const

returns true if this string contains word as a whole word, false otherwise.

A whole word is defined as a sequence of characters that is not preceded or followed by an identifier character (see isId()).

Definition at line 695 of file dstring.cpp.

696{
697 if (m_rep.empty() || word==nullptr) return false;
698 static const reg::Ex re(R"(\a+)");
699 for (reg::Iterator it(m_rep,re) ; it!=reg::Iterator() ; ++it)
700 {
701 if (it->str()==word) return true;
702 }
703 return false;
704}

References m_rep.

◆ copy()

size_t DString::copy ( char * dest,
size_t count,
size_t pos = 0 ) const
inline

Copies (up to) count characters into dest, starting at pos.

Returns the number of characters copied.

Definition at line 226 of file dstring.h.

226{ return m_rep.copy(dest,count,pos); }

References m_rep.

◆ crbegin()

const_reverse_iterator DString::crbegin ( ) const
inline

Definition at line 189 of file dstring.h.

189{ return m_rep.crbegin(); }

References m_rep.

◆ crend()

const_reverse_iterator DString::crend ( ) const
inline

Definition at line 192 of file dstring.h.

192{ return m_rep.crend(); }

References m_rep.

◆ data()

const char * DString::data ( ) const
inline

Returns a pointer to the contents of the string in the form of a 0-terminated C string.

Definition at line 157 of file dstring.h.

157{ return m_rep.c_str(); }

References m_rep.

Referenced by SectionManager::add(), Crawlmap::addContentsItem(), addMacroDefinition(), SearchIndex::addWordRec(), addXRefItemToEntry(), adjustConfiguration(), bindTextParameter(), buildFileName(), DocParser::checkArgumentName(), checkBlocks(), checkMarkdownMainfile(), FlowChart::codify(), HtmlCodeGenerator::codify(), LatexCodeGenerator::codify(), ManCodeGenerator::codify(), RTFCodeGenerator::codify(), codifyLines(), codifyLines(), codifyLines(), codifyLines(), codifyLines(), codifyMapLines(), FilterCache::compileLineOffsets(), computeQualifiedIndex(), configStringRecode(), contains(), contains(), HtmlEntityMapper::convertCharEntitiesToUTF8(), convertCppComments(), convertIndexWordToAnchor(), convertToComment(), DocbookGenerator::convertToDocbook(), convertToHtml(), convertToId(), convertToJSString(), convertToPSString(), convertToXML(), Portable::correctPath(), VhdlDocGen::createFlowChart(), createTagLessInstance(), detab(), do_mscgen_generate(), ManGenerator::docify(), HtmlGenerator::docify_(), docifyToString(), docifyToString(), dstrcmp(), dstrcmp(), dstrcmp(), dstricmp(), dstricmp(), dstricmp(), dstricmp_sort(), dstricmp_sort(), dstricmp_sort(), dstrnicmp(), dstrnicmp(), dstrnicmp(), encodeForOutput(), escapeAt(), escapeCharsInString(), escapeDoubleQuotes(), escapeSpecialChars(), escapeTooltip(), extractBoundingBox(), HtmlDocVisitor::filter(), ManDocVisitor::filter(), RTFDocVisitor::filter(), TextDocVisitor::filter(), filter2008VhdlComment(), filterId(), filterLatexString(), HtmlDocVisitor::filterQuotedCdataAttr(), CodeFragmentManager::Private::FragmentInfo::findBlockMarkers(), Markdown::Private::findEmphasisChar(), Markdown::Private::findEndOfLine(), DocTokenizer::findSections(), VhdlDocGen::findVhdlClass(), Portable::fopen(), format_warn(), formatDateTime(), generateOutput(), generateXML(), getConvertLatexMacro(), Portable::getenv(), CitationManager::getFormulas(), ParserManager::getParsers(), getPrefixIndex(), SymbolResolver::Private::getResolvedTypeRec(), handle_warn_as_error(), handleCommentBlock(), handleToc(), PerlModOutput::iaddQuoted(), LayoutDocManager::init(), HtmlHelpRecoder::initialize(), insert(), insertPath(), DocParser::internalValidatingParseDoc(), Portable::isAbsolutePath(), isLowerCase(), latexEscapeIndexChars(), latexEscapeLabelName(), latexEscapePDFString(), latexFilterURL(), letterToLabel(), VHDLOutlineParser::lineCount(), linkifyText(), nameIsActuallyPartOfType(), operator!=(), operator!=(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), operator<(), operator<(), operator<(), operator<=(), operator<=(), operator==(), operator==(), operator>(), operator>(), operator>=(), operator>=(), CondParser::parse(), DocInclude::parse(), DocIncOperator::parse(), LayoutDocManager::parse(), CCodeParser::parseCode(), FileCodeParser::parseCode(), FortranCodeParser::parseCode(), LexCodeParser::parseCode(), PythonCodeParser::parseCode(), SQLCodeParser::parseCode(), VHDLCodeParser::parseCode(), XMLCodeParser::parseCode(), parseCommentAsText(), parseFile(), parseFuncDecl(), parsePrototype(), parsePrototype(), ConfigImpl::parseString(), parseTagFile(), VHDLOutlineParser::Private::parseVhdlfile(), Portable::popen(), prepend(), Markdown::process(), Markdown::Private::processBlocks(), Markdown::Private::processQuotations(), Markdown::Private::processSpecialCommand(), pushBuffer(), qPrint(), readCodeFragment(), readConfiguration(), readIncludeFile(), HtmlHelpRecoder::recode(), Portable::recodeUtf8StringToW(), recognizeFixedForm(), removeIdsAndMarkers(), removeMarkers(), removeRedundantWhiteSpace(), repeat(), SectionManager::replace(), replaceAnonymousScopes(), CitationManager::replaceFormulas(), resolveConfig(), rfind_insensitive(), rfind_insensitive(), DotFilePatcher::run(), runPlantumlContent(), ColoredImage::save(), Image::save(), selectBlocks(), DefinitionImpl::Private::setDefFileName(), Portable::setenv(), simplifyWhiteSpace(), skipToEndMarker(), startCondSection(), OutputGenerator::startPlainFile(), Image::stringLength, stringToArgumentList(), stripIndentation(), stripIndentationVerbatim(), stripLeadingAndTrailingEmptyLines(), stripTrailingWhiteSpace(), substitute(), substitute(), substituteHtmlKeywords(), substituteKeywords(), Portable::system(), toLong(), toUInt64(), toULong(), transcodeCharacterBuffer(), unescapeCharsInString(), unescapeCRef(), Portable::unlink(), DocTokenizer::unputString(), Portable::unsetenv(), updateLanguageMapping(), validatingParseDoc(), validatingParseText(), ManCodeGenerator::writeCodeLink(), writeDEFString(), writeDocbookCodeString(), ClassDefImpl::writeIncludeFilesForSlice(), writeInlineGraph(), writeMemberList(), MermaidManager::writeMermaidSource(), writeMultiLineCodeLink(), writeMultiLineCodeLink(), writeMultiLineCodeLink(), writeMultiLineCodeLink(), HtmlDocVisitor::writeObfuscatedMailAddress(), writeObjCMethodCall(), DocbookGenerator::writePageLink(), PlantumlManager::writePlantUMLSource(), Image::writeString(), ConfigOption::writeStringValue(), and writeXMLCodeString().

◆ empty()

bool DString::empty ( ) const
inline

Returns true iff the string is empty (std::string compatible alias for isEmpty()).

Definition at line 148 of file dstring.h.

148{ return m_rep.empty(); }

References m_rep.

Referenced by MemberDefImpl::_isAnonymousBitField(), DefinitionImpl::_setBriefDescription(), DefinitionImpl::_setInbodyDocumentation(), MemberDefImpl::_writeCategoryRelation(), HtmlCodeGenerator::_writeCodeLink(), MemberDefImpl::_writeGroupInclude(), DefinitionImpl::_writeSourceRefList(), MemberDefImpl::_writeTemplatePrefix(), abbreviate(), SymbolResolver::Private::accessibleViaUsingDefinition(), SymbolResolver::Private::accessibleViaUsingNamespace(), FileDefImpl::acquireFileVersion(), addAnchor(), DotClassGraph::addClass(), addClassToContext(), addClassToGroups(), addConceptToContext(), Crawlmap::addContentsItem(), DocSets::addContentsItem(), EclipseHelp::addContentsItem(), HtmlHelp::addContentsItem(), Qhp::addContentsItem(), addDefine(), addDefineDoc(), CommentScanner::addDeprecatedDocs(), DocGroup::addDocs(), ModuleManager::addDocs(), DotGroupCollaboration::addEdge(), addEnumDocs(), addEnumValuesToEnums(), FlowChart::addFlowChart(), addGlobalFunction(), DotGfxHierarchyTable::addHierarchy(), addHtmlExtensionIfMissing(), ModuleManager::addImport(), FileDefImpl::addIncludedByDependency(), FileDefImpl::addIncludeDependency(), addIncludeFile(), PerlModGenerator::addIncludeInfo(), Crawlmap::addIndexItem(), HtmlHelp::addIndexItem(), LatexGenerator::addIndexItem(), Qhp::addIndexItem(), RTFGenerator::addIndexItem(), addInstance(), addInterfaceOrServiceToServiceOrSingleton(), HtmlHelpIndex::addItem(), addKnRArgInfo(), LatexGenerator::addLabel(), PerlModDocVisitor::addLink(), addMemberDocs(), addMemberFunction(), addMembersToIndex(), addMemberToGroups(), addMemberToSearchIndex(), addMethodToClass(), addModule(), addNamespaceToGroups(), addPerlModDocBlock(), VHDLOutlineParser::addProto(), addRefItem(), addRelatedPage(), addRelatedPage(), RequirementManager::addRequirement(), addSection(), PageDefImpl::addSectionsToIndex(), addSeparatorsIfNeeded(), addToMap(), TooltipManager::addTooltip(), ClassDefImpl::addTypeConstraint(), addUsingDirective(), addVariable(), addVariable(), addVariableToClass(), addVariableToFile(), SearchIndexExternal::addWord(), SearchIndex::addWordRec(), addXRefItemToEntry(), adjustConfiguration(), applyModifiers(), argListToString(), buildClassDocList(), buildClassList(), buildDictionaryList(), buildExampleList(), buildFileList(), buildFileName(), buildFunctionList(), buildGroupListFiltered(), buildInterfaceAndServiceList(), buildNamespaceList(), buildPageList(), buildScopeFromQualifiedName(), buildSequenceList(), buildTypedefList(), buildVarList(), Config::checkAndCorrect(), DocParser::checkArgumentName(), checkBlocks(), checkForKnRstyleC(), VHDLOutlineParser::checkInlineCode(), checkList(), checkMarkdownMainfile(), DocParser::checkRetvalName(), DocParser::checkUnOrMultipleDocumentedParams(), checkVhdlString(), ClassDefImpl::ClassDefImpl(), ClassDefImpl::className(), FlowChart::codify(), HtmlCodeGenerator::codify(), LatexCodeGenerator::codify(), ManCodeGenerator::codify(), RTFCodeGenerator::codify(), codifyLines(), codifyLines(), codifyLines(), codifyLines(), codifyLines(), codifyMapLines(), combineArgsAndException(), combineDeclarationAndDefinition(), ConfigImpl::compareDoxyfile(), computeClassRelations(), computeExpression(), DotGraph::computeGraph(), computePageRelations(), computeVerifiedDotPath(), ConceptDefImpl::ConceptDefImpl(), configFileToString(), configStringRecode(), HtmlEntityMapper::convertCharEntitiesToUTF8(), DotNode::convertLabel(), convertMapFile(), convertNameToFile(), convertStringToBool(), ConfigBool::convertStrToVal(), ConfigEnum::convertStrToVal(), ConfigInt::convertStrToVal(), convertToComment(), DocbookGenerator::convertToDocbook(), convertToHtml(), convertToId(), convertToJSString(), convertToPSString(), convertToXML(), MemberDefImpl::copyArgumentNames(), copyIcon(), copyLogo(), copyStyleSheet(), Portable::correctPath(), correctURL(), createDVIFile(), VHDLOutlineParser::createFunction(), createHtmlUrl(), FormulaManager::createLatexFile(), createOutputDirectory(), createRef(), createUsingMemberImportForClass(), dateTimeFromString(), deliverablesPresent(), MemberDefImpl::detectUndocumentedParams(), MemberDefImpl::displayDefinition(), MemberGroup::distributeMemberGroupDocumentation(), DocCite::DocCite(), DocFormula::DocFormula(), ManGenerator::docify(), RTFGenerator::docify(), HtmlGenerator::docify_(), docifyToString(), docifyToString(), DocLink::DocLink(), DocLinkedWord::DocLinkedWord(), DocRef::DocRef(), DocWord::DocWord(), DotClassGraph::DotClassGraph(), elemIsVisible(), ConfigString::emptyValueToDefault(), encodeForOutput(), HtmlGenerator::endDotGraph(), RTFGenerator::endDoxyAnchor(), LayoutParser::endElement(), HtmlGenerator::endIndexItem(), LatexGenerator::endIndexItem(), RTFGenerator::endIndexItem(), RTFGenerator::endIndexSection(), RTFGenerator::endIndexValue(), LatexDocVisitor::endLink(), RTFDocVisitor::endLink(), HtmlGenerator::endMemberTemplateParams(), LatexGenerator::endPageRef(), RTFGenerator::endPageRef(), endQuickIndexItem(), DocbookGenerator::endTitleHead(), LatexGenerator::endTitleHead(), RTFGenerator::endTitleHead(), DocGroup::enterCompound(), escapeAt(), escapeCharsInString(), escapeDoubleQuotes(), escapeLabel(), escapeSpecialChars(), escapeTooltip(), Htags::execute(), ExistsOnPath(), expandExpression(), externalRef(), DefinitionImpl::externalReference(), extractCanonicalArgType(), extractCanonicalType(), extractClassNameFromType(), extractNamespaceName(), extractTrailingComment(), field2URL(), FileDefImpl::FileDefImpl(), fileToString(), HtmlDocVisitor::filter(), ManDocVisitor::filter(), RTFDocVisitor::filter(), TextDocVisitor::filter(), filterId(), filterLatexString(), filterMemberDocumentation(), HtmlDocVisitor::filterQuotedCdataAttr(), CodeFragmentManager::Private::FragmentInfo::findBlockMarkers(), findClassRelation(), findDefineDocumentation(), DocParser::findDocsForMemberOrCompound(), Markdown::Private::findEmphasisChar(), Markdown::Private::findEndOfLine(), findEnumDocumentation(), findEnums(), DocGroup::findExistingGroup(), findFile(), FileNameLinkedMap::findFileDef(), findFriends(), findGlobalMember(), findGroupScope(), FlowChart::findLabel(), findMainPage(), findMember(), findMemberDocumentation(), findPackageScope(), findPackageScopeFromPath(), DocTokenizer::findSections(), findTemplateSpecializationPosition(), findUsedClassesForClass(), findUsingDeclarations(), findUsingDeclImports(), findUsingDirectives(), VariableContext::findVariable(), ArgumentList::finishTrailingReturnType(), fixArgumentListForJavaScript(), format_warn(), generateBriefDoc(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateDEFForMember(), OutputList::generateDoc(), generateFunctionLink(), generateFunctionLink(), FormulaManager::generateImages(), generateJSNavTree(), generateMemberLink(), generateMemLink(), generateOutput(), CitationManager::generatePage(), RequirementManager::generatePage(), PerlModGenerator::generatePerlModForMember(), PerlModGenerator::generatePerlModSection(), PlantumlManager::generatePlantUmlFileNames(), generateSqlite3ForClass(), generateSqlite3ForMember(), generateSqlite3ForPage(), generateXMLForClass(), generateXMLForMember(), generateXMLForPage(), genericCompareMembers(), DotGfxHierarchyTable::getBaseName(), getBibFile(), getCanonicalTemplateSpec(), getCanonicalTypeForIdentifier(), getClass(), VhdlDocGen::getClass(), getConcept(), getConfig(), getConvertLatexMacro(), getCurrentChar(), getCurrentDateTime(), getDefs(), getExtension(), FilterCache::getFileContents(), getFileFilter(), getFileNameExtension(), CitationManager::getFormulas(), getFortranDefs(), getFortranNamespaceDefs(), getFortranTypeDefs(), getFullProjectName(), getLanguageFromFileName(), getLink(), getLink(), getLink(), getLinkInScope(), getLinkInScope(), getMemberFromSymbol(), getNextChar(), MemberDefImpl::getOutputFileBase(), ParserManager::getParsers(), getPrefixIndex(), getProjectId(), Qhp::getQchFileName(), MemberDefImpl::getReference(), getResolvedNamespace(), SymbolResolver::Private::getResolvedSymbol(), SymbolResolver::Private::getResolvedSymbolRec(), SymbolResolver::Private::getResolvedType(), SymbolResolver::Private::getResolvedTypeRec(), getScopeDefs(), getSQLDocBlock(), getSubdir(), GroupDefImpl::GroupDefImpl(), DocPara::handleCommand(), VHDLOutlineParser::handleCommentBlock(), DocPara::handleDoxyConfig(), handleFileInfoResult(), handleGuard(), DocPara::handleHtmlStartTag(), DocParser::handleImage(), handleInheritanceGraph(), DocPara::handleLink(), DocParser::handleLinkedWord(), handleParametersCommentBlocks(), DocPara::handleShowDate(), DocPara::handleStartCode(), handleToc(), DefinitionImpl::hasBriefDescription(), DirDefImpl::hasDetailedDescription(), MemberDefImpl::hasDetailedDescription(), ModuleDefImpl::hasDetailedDescription(), Argument::hasDocumentation(), MemberDefImpl::hasMultiLineInitializer(), MemberDefImpl::hasOneLineInitializer(), Argument::hasTemplateDocumentation(), PageDefImpl::hasTitle(), PerlModOutput::iaddQuoted(), inheritDocumentation(), ConfigImpl::init(), MemberDefImpl::init(), RTFGenerator::init(), initDoxygen(), DocSets::initialize(), EclipseHelp::initialize(), HtmlHelpRecoder::initialize(), Qhp::initialize(), initPredefined(), initTracing(), initUCF(), initWarningFormat(), inlineArgListToDoc(), CitationManager::insertCrossReferencesForBibFile(), insertMemberFunctionParams(), insertRefid(), insertTemplateSpecifierInScope(), DocParser::internalValidatingParseDoc(), SymbolResolver::Private::isAccessibleFromWithExpScope(), ClassDefImpl::isBaseClass(), MemberDefImpl::isBriefSectionVisible(), isClassSection(), ClassDefImpl::isExtension(), FileDefImpl::isIncluded(), NamespaceDefImpl::isLinkableInProject(), isLinkRef(), isLowerCase(), ModuleDefImpl::isPrimaryInterface(), isVarWithConstructor(), javaExecutable(), DiagramItem::label(), CitationManager::latexBibFiles(), latexEscapeIndexChars(), latexEscapeLabelName(), latexEscapePDFString(), latexFilterURL(), latexWriteIndexItem(), letterToLabel(), HtmlGenerator::lineBreak(), VHDLOutlineParser::lineCount(), linkifyText(), linkToText(), makeFileName(), makeFileName(), makeIndex(), makeQualifiedNameWithTemplateParameters(), makeRef(), makeRef(), makeURL(), Mapper< T >::map(), DotFilePatcher::mapLabelToId(), matchArgument2(), matchExcludedSymbols(), mergeArguments(), mergeScopes(), NamespaceDefImpl::NamespaceDefImpl(), DefinitionImpl::navigationPathAsString(), needsSorting(), node2URL(), objectLinkToString(), objectLinkToString(), objectLinkToString(), DocbookGenerator::openSection(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), PerlModDocVisitor::operator()(), PerlModDocVisitor::operator()(), PerlModDocVisitor::operator()(), PrintDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), TextDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), SymbolModifiers::operator|=(), organizeSubGroupsFiltered(), Translator::p_latexCommandName(), CondParser::parse(), DocInclude::parse(), DocIncOperator::parse(), DocRef::parse(), DocSecRefItem::parse(), DocSection::parse(), DocXRefItem::parse(), CCodeParser::parseCode(), FileCodeParser::parseCode(), FortranCodeParser::parseCode(), LexCodeParser::parseCode(), PythonCodeParser::parseCode(), SQLCodeParser::parseCode(), VHDLCodeParser::parseCode(), XMLCodeParser::parseCode(), CodeFragmentManager::parseCodeFragment(), parseCommentAsText(), CommentScanner::parseCommentBlock(), parseFuncDecl(), MarkdownOutlineParser::parseInput(), parseInput(), VHDLOutlineParser::parseInput(), parsePrototype(), parsePrototype(), VhdlDocGen::parseUCF(), CondParser::parseVar(), Htags::path2URL(), DefinitionImpl::pathFragment(), VhdlDocGen::prepareComment(), printNavTree(), Markdown::process(), Markdown::Private::processBlocks(), processConcatOperators(), Markdown::Private::processLink(), processList(), Markdown::Private::processSpecialCommand(), projectLogoFile(), projectLogoSize(), qPrint(), ImportInfo::qualifiedName(), ModuleDefImpl::qualifiedName(), readCodeFragment(), readConfiguration(), readFileOrDirectory(), readIncludeFile(), readInputFile(), readTagFile(), DocParser::readTextFileByName(), Portable::recodeUtf8StringToW(), ParserManager::registerExtension(), relativePathToRoot(), removeAnonymousScopes(), removeIdsAndMarkers(), removeMarkers(), removeRedundantWhiteSpace(), replaceAnonymousScopes(), replaceColorMarkers(), CitationManager::replaceFormulas(), replaceFunctionMacro(), replaceRef(), resolveClassNestingRelations(), resolveConfig(), resolveLink(), ModuleManager::resolvePartitionsRecursively(), resolveRef(), resolveSymlink(), resolveTypeDef(), MemberDefImpl::resolveUnnamedParameters(), runMermaid(), runPlantumlContent(), searchTemplateSpecs(), selectBlocks(), MemberDefImpl::setAnchor(), DefinitionImpl::setBriefDescription(), setCallContextForVar(), SearchIndex::setCurrentDoc(), SearchIndexExternal::setCurrentDoc(), DefinitionImpl::Private::setDefFileName(), DefinitionImpl::setDocumentation(), setDotFontPath(), Portable::setenv(), DocOptions::setExample(), GroupDefImpl::setGroupTitleLocal(), DefinitionImpl::setInbodyDocumentation(), ClassDefImpl::setIncludeFile(), ConceptDefImpl::setIncludeFile(), FileDefImpl::setIncludeFile(), NamespaceDefImpl::setIncludeFile(), DefinitionImpl::setName(), PageDefImpl::setTitle(), FileNameLinkedMap::showFileDefMatches(), simplifyWhiteSpace(), MemberDefImpl::sourceRefName(), splitSearchTokens(), XMLCodeGenerator::startCodeLine(), DocbookGenerator::startDescTable(), DocbookGenerator::startDoxyAnchor(), LatexGenerator::startDoxyAnchor(), DocbookGenerator::startFile(), startFile(), HtmlGenerator::startIndexItem(), LatexGenerator::startIndexItem(), RTFGenerator::startIndexSection(), DocbookDocVisitor::startLink(), HtmlDocVisitor::startLink(), LatexDocVisitor::startLink(), RTFDocVisitor::startLink(), XmlDocVisitor::startLink(), anonymous_namespace{tagreader.cpp}::TagFileParser::startMember(), LayoutParser::startMemberDeclEntry(), LayoutParser::startMemberDefEntry(), HtmlGenerator::startMemberDescription(), DocbookGenerator::startMemberDoc(), LatexGenerator::startMemberDoc(), RTFGenerator::startMemberDoc(), DocbookGenerator::startMemberDocSimple(), HtmlGenerator::startMemberHeader(), HtmlGenerator::startMemberItem(), LayoutParser::startNavEntry(), startOfRequiresExpression(), HtmlGenerator::startParagraph(), LatexGenerator::startParameterType(), RTFGenerator::startParameterType(), startQuickIndexItem(), LayoutParser::startSectionEntry(), startsWith(), LatexGenerator::startTextLink(), RTFGenerator::startTextLink(), Image::stringLength, stringToArgumentList(), stripAnonymousNamespaceScope(), stripIndentation(), stripIndentationVerbatim(), stripLeadingAndTrailingEmptyLines(), stripLeadingAndTrailingEmptyLines(), stripProtectionPrefix(), subrHandleCommentBlock(), subrHandleCommentBlockResult(), substEnvVarsInString(), substEnvVarsInStrList(), substitute(), substitute(), substituteHtmlKeywords(), substituteLatexKeywords(), substituteTemplateArgumentsInString(), substituteTemplatesInString(), SymbolResolver::Private::substTypedef(), Portable::system(), toDefinition(), transcodeCharacterBuffer(), transferArgumentDocumentation(), TranslatorAfrikaans::trDocumentation(), TranslatorArabic::trDocumentation(), TranslatorArmenian::trDocumentation(), TranslatorBrazilian::trDocumentation(), TranslatorBulgarian::trDocumentation(), TranslatorCatalan::trDocumentation(), TranslatorChinese::trDocumentation(), TranslatorChinesetraditional::trDocumentation(), TranslatorCroatian::trDocumentation(), TranslatorCzech::trDocumentation(), TranslatorDanish::trDocumentation(), TranslatorDutch::trDocumentation(), TranslatorEnglish::trDocumentation(), TranslatorEsperanto::trDocumentation(), TranslatorFinnish::trDocumentation(), TranslatorFrench::trDocumentation(), TranslatorGerman::trDocumentation(), TranslatorGreek::trDocumentation(), TranslatorHindi::trDocumentation(), TranslatorHungarian::trDocumentation(), TranslatorIndonesian::trDocumentation(), TranslatorItalian::trDocumentation(), TranslatorJapanese::trDocumentation(), TranslatorKorean::trDocumentation(), TranslatorLatvian::trDocumentation(), TranslatorLithuanian::trDocumentation(), TranslatorMacedonian::trDocumentation(), TranslatorNorwegian::trDocumentation(), TranslatorPersian::trDocumentation(), TranslatorPolish::trDocumentation(), TranslatorPortuguese::trDocumentation(), TranslatorRomanian::trDocumentation(), TranslatorRussian::trDocumentation(), TranslatorSerbian::trDocumentation(), TranslatorSerbianCyrillic::trDocumentation(), TranslatorSlovak::trDocumentation(), TranslatorSlovene::trDocumentation(), TranslatorSpanish::trDocumentation(), TranslatorSwedish::trDocumentation(), TranslatorTurkish::trDocumentation(), TranslatorUkrainian::trDocumentation(), TranslatorVietnamese::trDocumentation(), TranslatorAfrikaans::trGeneratedAt(), TranslatorArabic::trGeneratedAt(), TranslatorArmenian::trGeneratedAt(), TranslatorBrazilian::trGeneratedAt(), TranslatorBulgarian::trGeneratedAt(), TranslatorCatalan::trGeneratedAt(), TranslatorChinese::trGeneratedAt(), TranslatorChinesetraditional::trGeneratedAt(), TranslatorCroatian::trGeneratedAt(), TranslatorCzech::trGeneratedAt(), TranslatorDanish::trGeneratedAt(), TranslatorDutch::trGeneratedAt(), TranslatorEnglish::trGeneratedAt(), TranslatorEsperanto::trGeneratedAt(), TranslatorFinnish::trGeneratedAt(), TranslatorFrench::trGeneratedAt(), TranslatorGerman::trGeneratedAt(), TranslatorGreek::trGeneratedAt(), TranslatorHindi::trGeneratedAt(), TranslatorHungarian::trGeneratedAt(), TranslatorIndonesian::trGeneratedAt(), TranslatorItalian::trGeneratedAt(), TranslatorJapanese::trGeneratedAt(), TranslatorKorean::trGeneratedAt(), TranslatorLatvian::trGeneratedAt(), TranslatorLithuanian::trGeneratedAt(), TranslatorMacedonian::trGeneratedAt(), TranslatorNorwegian::trGeneratedAt(), TranslatorPersian::trGeneratedAt(), TranslatorPolish::trGeneratedAt(), TranslatorPortuguese::trGeneratedAt(), TranslatorRomanian::trGeneratedAt(), TranslatorRussian::trGeneratedAt(), TranslatorSerbian::trGeneratedAt(), TranslatorSerbianCyrillic::trGeneratedAt(), TranslatorSlovak::trGeneratedAt(), TranslatorSlovene::trGeneratedAt(), TranslatorSpanish::trGeneratedAt(), TranslatorSwedish::trGeneratedAt(), TranslatorTurkish::trGeneratedAt(), TranslatorUkrainian::trGeneratedAt(), TranslatorVietnamese::trGeneratedAt(), TranslatorAfrikaans::trGeneratedAutomatically(), TranslatorArabic::trGeneratedAutomatically(), TranslatorArmenian::trGeneratedAutomatically(), TranslatorBrazilian::trGeneratedAutomatically(), TranslatorBulgarian::trGeneratedAutomatically(), TranslatorCatalan::trGeneratedAutomatically(), TranslatorChinese::trGeneratedAutomatically(), TranslatorChinesetraditional::trGeneratedAutomatically(), TranslatorCroatian::trGeneratedAutomatically(), TranslatorCzech::trGeneratedAutomatically(), TranslatorDanish::trGeneratedAutomatically(), TranslatorDutch::trGeneratedAutomatically(), TranslatorEnglish::trGeneratedAutomatically(), TranslatorEsperanto::trGeneratedAutomatically(), TranslatorFrench::trGeneratedAutomatically(), TranslatorGerman::trGeneratedAutomatically(), TranslatorGreek::trGeneratedAutomatically(), TranslatorHindi::trGeneratedAutomatically(), TranslatorHungarian::trGeneratedAutomatically(), TranslatorIndonesian::trGeneratedAutomatically(), TranslatorItalian::trGeneratedAutomatically(), TranslatorJapanese::trGeneratedAutomatically(), TranslatorKorean::trGeneratedAutomatically(), TranslatorLatvian::trGeneratedAutomatically(), TranslatorLithuanian::trGeneratedAutomatically(), TranslatorMacedonian::trGeneratedAutomatically(), TranslatorNorwegian::trGeneratedAutomatically(), TranslatorPersian::trGeneratedAutomatically(), TranslatorPolish::trGeneratedAutomatically(), TranslatorPortuguese::trGeneratedAutomatically(), TranslatorRomanian::trGeneratedAutomatically(), TranslatorRussian::trGeneratedAutomatically(), TranslatorSerbian::trGeneratedAutomatically(), TranslatorSerbianCyrillic::trGeneratedAutomatically(), TranslatorSlovak::trGeneratedAutomatically(), TranslatorSlovene::trGeneratedAutomatically(), TranslatorSpanish::trGeneratedAutomatically(), TranslatorSwedish::trGeneratedAutomatically(), TranslatorTurkish::trGeneratedAutomatically(), TranslatorUkrainian::trGeneratedAutomatically(), TranslatorVietnamese::trGeneratedAutomatically(), TranslatorBrazilian::trModuleMembersDescriptionTotal(), TranslatorEnglish::trModuleMembersDescriptionTotal(), TranslatorLatvian::trModuleMembersDescriptionTotal(), TranslatorPortuguese::trModuleMembersDescriptionTotal(), TranslatorSpanish::trModuleMembersDescriptionTotal(), TranslatorBrazilian::trNamespaceMembersDescriptionTotal(), TranslatorEnglish::trNamespaceMembersDescriptionTotal(), TranslatorPortuguese::trNamespaceMembersDescriptionTotal(), TranslatorSpanish::trNamespaceMembersDescriptionTotal(), tryPath(), unescapeCharsInString(), unsetDotFontPath(), Portable::unsetenv(), updateLanguageMapping(), Config::updateObsolete(), DotAttributes::updateValue(), LayoutNavEntry::url(), validatingParseDoc(), validatingParseText(), validatingParseTitle(), version(), DocbookDocVisitor::visitPreStart(), visitPreStart(), visitPreStart(), warn_line(), MemberDefImpl::warnIfUndocumentedParams(), writeAlphabeticalClassList(), LatexGenerator::writeAnchor(), RTFGenerator::writeAnchor(), DotNode::writeArrow(), DotNode::writeBox(), NamespaceDefImpl::writeBriefDescription(), LatexCodeGenerator::writeCodeLink(), ManCodeGenerator::writeCodeLink(), RTFCodeGenerator::writeCodeLink(), MemberDefImpl::writeDeclaration(), NamespaceLinkedRefMap::writeDeclaration(), ClassDefImpl::writeDeclarationLink(), ConceptDefImpl::writeDeclarationLink(), ModuleDefImpl::writeDeclarationLink(), MemberList::writeDeclarations(), DotNode::writeDEF(), writeDefArgumentList(), writeDEFString(), ClassDefImpl::writeDetailedDescription(), GroupDefImpl::writeDirs(), DefinitionImpl::writeDocAnchorsToTagFile(), DotNode::writeDocbook(), writeDocbookCodeString(), writeDocbookLink(), FileDefImpl::writeDocumentation(), GroupDefImpl::writeDocumentation(), MemberDefImpl::writeDocumentation(), MemberList::writeDocumentation(), PageDefImpl::writeDocumentation(), MemberDefImpl::writeEnumDeclaration(), ModuleDefImpl::writeExports(), HtmlGenerator::writeExternalSearchPage(), HtmlHelpIndex::writeFields(), writeFileIndex(), DirDefImpl::writeFileList(), GroupDefImpl::writeFiles(), ModuleDefImpl::writeFiles(), FlowChart::writeFlowLinks(), writeFont(), VhdlDocGen::writeFormatString(), writeFuncProto(), VhdlDocGen::writeFunctionProto(), DotGraph::writeGraphHeader(), ClassDefImpl::writeIncludeFiles(), ConceptDefImpl::writeIncludeFiles(), FileDefImpl::writeIncludeFiles(), NamespaceDefImpl::writeIncludeFiles(), ClassDefImpl::writeIncludeFilesForSlice(), writeIncludeInfo(), HtmlGenerator::writeInheritedSectionTitle(), DefinitionImpl::writeInlineCode(), writeJavasScriptSearchDataPage(), DocbookCodeGenerator::writeLineNumber(), HtmlCodeGenerator::writeLineNumber(), LatexCodeGenerator::writeLineNumber(), RTFCodeGenerator::writeLineNumber(), XMLCodeGenerator::writeLineNumber(), TextGeneratorSqlite3Impl::writeLink(), writeMapArea(), Markdown::Private::writeMarkdownImage(), MemberDefImpl::writeMemberDocSimple(), ClassDefImpl::writeMemberList(), writeMemberList(), writeMemberReference(), MermaidManager::writeMermaidSource(), ClassDefImpl::writeMoreLink(), writeMscImageMapFromFile(), writeMultiLineCodeLink(), writeMultiLineCodeLink(), writeNamespaceTreeElement(), GroupDefImpl::writeNestedGroups(), HtmlDocVisitor::writeObfuscatedMailAddress(), writeObjCMethodCall(), HtmlGenerator::writeObjectLink(), PageDefImpl::writePageDocumentation(), PlantumlManager::writePlantUMLSource(), VhdlDocGen::writeRecordUnit(), RequirementManager::writeRef(), FlowChart::writeShape(), writeSingleFileIndex(), VhdlDocGen::writeSource(), FileDefImpl::writeSourceBody(), DefinitionImpl::writeSourceDef(), FileDefImpl::writeSourceHeader(), HtmlGenerator::writeStartAnnoItem(), LatexGenerator::writeStartAnnoItem(), RTFGenerator::writeStartAnnoItem(), Image::writeString(), ConfigOption::writeStringValue(), HtmlGenerator::writeStyleInfo(), DirDefImpl::writeSubDirList(), HtmlGenerator::writeSummaryLink(), ClassDefImpl::writeTagFile(), ConceptDefImpl::writeTagFile(), MemberDefImpl::writeTagFile(), ModuleDefImpl::writeTagFile(), NamespaceDefImpl::writeTagFile(), writeTagFile(), ConfigBool::writeTemplate(), ConfigEnum::writeTemplate(), ConfigImpl::writeTemplate(), ConfigInt::writeTemplate(), ConfigList::writeTemplate(), ConfigString::writeTemplate(), ClassDefImpl::writeTemplateSpec(), DefinitionImpl::writeToc(), DocSets::writeToken(), HtmlCodeGenerator::writeTooltip(), DotNode::writeUrl(), VhdlDocGen::writeVHDLDeclaration(), VhdlDocGen::writeVHDLDeclarations(), VhdlDocGen::writeVhdlLink(), writeWord(), DotNode::writeXML(), writeXMLCodeString(), writeXMLDocBlock(), writeXMLLink(), and HtmlEntityMapper::writeXMLSchema().

◆ end() [1/2]

iterator DString::end ( )
inline

Definition at line 183 of file dstring.h.

183{ return m_rep.end(); }

References m_rep.

Referenced by findAndRemoveWord(), quoted(), stripLeadingAndTrailingEmptyLines(), and stripWhiteSpace().

◆ end() [2/2]

const_iterator DString::end ( ) const
inline

Definition at line 184 of file dstring.h.

184{ return m_rep.end(); }

References m_rep.

◆ endsWith() [1/3]

◆ endsWith() [2/3]

bool DString::endsWith ( const DString & s) const
inline

Definition at line 630 of file dstring.h.

631 {
632 size_t l = s.length();
633 return m_rep.length()>=l && m_rep.compare(m_rep.length()-l, l, s.str())==0;
634 }

References DString(), length(), m_rep, and str().

◆ endsWith() [3/3]

bool DString::endsWith ( const std::string & s) const
inline

Definition at line 624 of file dstring.h.

625 {
626 size_t l = s.length();
627 return m_rep.length()>=l && m_rep.compare(m_rep.length()-l, l, s)==0;
628 }

References m_rep.

◆ erase()

DString & DString::erase ( size_t index = 0,
size_t count = npos )
inline

Definition at line 232 of file dstring.h.

232{ m_rep.erase(index,count); return *this; }

References DString(), m_rep, and npos.

◆ fill()

DString DString::fill ( char c,
size_t len )
inline

Fills a string with a predefined character.

Parameters
[in]cthe character used to fill the string with.
[in]lenthe number of character to fill. Use -1 to fill the whole string.
Note
the string will be resized to contain len characters. The contents of the string will be lost.

Definition at line 278 of file dstring.h.

279 {
280 //int l = len==-1 ? static_cast<int>(m_rep.size()) : len;
281 m_rep = std::string(len,c);
282 return *this;
283 }

References DString(), and m_rep.

Referenced by FlowChart::alignCommentNode(), FlowChart::alignFuncProc(), checkIfHtmlEndTagEndsAutoList(), codifyMapLines(), ConfigOption::ConfigOption(), generateJSTree(), DocSets::Private::indent(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), parseConcepts(), printNavLayout(), printNavTree(), FlowChart::printNode(), readCodeFragment(), and writeTemplateArgumentList().

◆ find() [1/4]

size_t DString::find ( char c,
size_t pos = 0 ) const
inline

Definition at line 239 of file dstring.h.

239{ return m_rep.find(c,pos); }

References m_rep.

Referenced by MemberDefImpl::_computeIsConstructor(), MemberDefImpl::_computeIsDestructor(), DefinitionImpl::_docsAlreadyAdded(), MemberDefImpl::_writeCategoryRelation(), MemberDefImpl::_writeReimplements(), VhdlDocGen::addBaseClass(), addClassToContext(), VHDLOutlineParser::addCompInst(), addConceptToContext(), ModuleManager::addDocs(), addHtmlExtensionIfMissing(), addMacroDefinition(), addMethodToClass(), addSubprogram(), addTemplateNames(), addVariable(), addVariableToFile(), adjustConfiguration(), argListToString(), associateVariableWithAnonymousEnumType(), buildDictionaryList(), buildFunctionList(), buildScopeFromQualifiedName(), buildSequenceList(), buildTypedefList(), buildVarList(), Config::checkAndCorrect(), VHDLOutlineParser::checkInlineCode(), checkList(), combineArgsAndException(), computeClassRelations(), VhdlDocGen::convertFileNameToClassName(), DotFilePatcher::convertMapFile(), MemberList::countEnumValues(), createDVIFile(), createTagLessInstance(), demangleCSharpGenericName(), determineBlockName(), MemberDefImpl::displayDefinition(), DocInternalRef::DocInternalRef(), DocRef::DocRef(), DocGroup::enterCompound(), ExistsOnPath(), expandVAOpt(), extractBeginRawStringDelimiter(), extractBlock(), extractBoundingBox(), extractClassName(), extractFromParens(), extractLanguageSpecificTitle(), extractNoExcept(), extractPartAfterNewLine(), fileInfoLookup(), fillColorStyleMap(), filterMemberDocumentation(), VhdlDocGen::findAllArchitectures(), DocParser::findDocsForMemberOrCompound(), findGlobalMember(), findMember(), findPackageScopeFromPath(), generateClassOrGlobalLink(), generateDEFForClass(), generateFileSources(), generateFunctionLink(), CitationManager::generatePage(), generateXML(), generateXMLForMember(), getDotImageExtension(), getFilteredImageAttributes(), getFilterFromList(), getLinkInScope(), ParserManager::getParsers(), SymbolResolver::Private::getResolvedSymbolRec(), getTemplateArgumentsFromName(), DocPara::handleCommand(), DocParser::handleParameterType(), handleToc(), CitationManager::insertCrossReferencesForBibFile(), insertTemplateSpecifierInScope(), ClassDefImpl::internalInsertMember(), isCastKeyword(), MemberDefImpl::isDocumentedFriendClass(), ClassDefImpl::isExtension(), MemberDefImpl::isFunctionPtr(), isRecursiveBaseClass(), DocImage::isSVG(), isURL(), isVarWithConstructor(), lineBlock(), linkToText(), Htags::loadFilemap(), makeQualifiedNameWithTemplateParameters(), makeTemplateInstanceRelation(), mangleCSharpGenericName(), matchCanonicalTypes(), matchExcludedSymbols(), mergeArguments(), DirDefImpl::mergeDirectoryInTree(), nameIsOperator(), SymbolResolver::Private::newResolveTypedef(), normalizeNonTemplateArgumentsInString(), VHDLOutlineParser::oneLineComment(), SymbolModifiers::operator|=(), DocIncOperator::parse(), DocLink::parse(), DocParamList::parse(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), parseMain(), VhdlDocGen::parseUCF(), Markdown::Private::processLink(), processTagLessClasses(), projectLogoFile(), projectLogoSize(), readTagFile(), CitationManager::replaceFormulas(), replaceRef(), replaceVariables(), resolveRef(), resolveSymlink(), resolveTemplateInstanceInType(), resolveTypeDef(), DotFilePatcher::run(), searchTemplateSpecs(), MemberList::setAnonymousEnumType(), setClassScope(), SearchIndexExternal::setCurrentDoc(), setJavaProtection(), StyleData::setStyle(), splitSearchTokens(), splitString(), LatexDocVisitor::startPlantUmlFile(), stripDeclKeywords(), stripIrrelevantString(), stripKeyword(), stripTemplateSpecifiersFromScope(), subrHandleCommentBlock(), substEnvVarsInStrList(), Portable::system(), trimBaseClassScope(), Portable::unsetenv(), MemberDefImpl::warnIfUndocumented(), MemberDefImpl::warnIfUndocumentedParams(), DotNode::writeDEF(), writeDefArgumentList(), FileDefImpl::writeDetailedDescription(), DotNode::writeDocbook(), MemberDefImpl::writeDocumentation(), writeExceptionList(), writeExceptionListImpl(), HtmlGenerator::writeExternalSearchPage(), writeFileIndex(), VhdlDocGen::writeFormatString(), LatexDocVisitor::writePlantUMLFile(), VhdlDocGen::writeRecordUnit(), VhdlDocGen::writeSource(), DefinitionImpl::writeSourceDef(), and DotNode::writeXML().

◆ find() [2/4]

size_t DString::find ( const char * s,
size_t pos = 0 ) const
inline

Definition at line 240 of file dstring.h.

240{ return s?m_rep.find(s,pos):npos; }
static constexpr size_t npos
value used to indicate 'not found' or 'to the end of the string', matching std::string::npos
Definition dstring.h:178

References m_rep, and npos.

◆ find() [3/4]

size_t DString::find ( const DString & s,
size_t pos = 0 ) const
inline

Definition at line 241 of file dstring.h.

241{ return m_rep.find(s.str(),pos); }

References DString(), m_rep, and str().

◆ find() [4/4]

size_t DString::find ( const std::string & s,
size_t pos = 0 ) const
inline

Definition at line 242 of file dstring.h.

242{ return m_rep.find(s,pos); }

References m_rep.

◆ find_first_not_of() [1/4]

size_t DString::find_first_not_of ( char c,
size_t pos = 0 ) const
inline

Definition at line 262 of file dstring.h.

262{ return m_rep.find_first_not_of(c,pos); }

References m_rep.

◆ find_first_not_of() [2/4]

size_t DString::find_first_not_of ( const char * s,
size_t pos = 0 ) const
inline

Definition at line 263 of file dstring.h.

263{ return s?m_rep.find_first_not_of(s,pos):npos; }

References m_rep, and npos.

◆ find_first_not_of() [3/4]

size_t DString::find_first_not_of ( const DString & s,
size_t pos = 0 ) const
inline

Definition at line 264 of file dstring.h.

264{ return m_rep.find_first_not_of(s.str(),pos); }

References DString(), m_rep, and str().

◆ find_first_not_of() [4/4]

size_t DString::find_first_not_of ( const std::string & s,
size_t pos = 0 ) const
inline

Definition at line 265 of file dstring.h.

265{ return m_rep.find_first_not_of(s,pos); }

References m_rep.

◆ find_first_of() [1/4]

size_t DString::find_first_of ( char c,
size_t pos = 0 ) const
inline

Definition at line 252 of file dstring.h.

252{ return m_rep.find_first_of(c,pos); }

References m_rep.

◆ find_first_of() [2/4]

size_t DString::find_first_of ( const char * s,
size_t pos = 0 ) const
inline

Definition at line 253 of file dstring.h.

253{ return s?m_rep.find_first_of(s,pos):npos; }

References m_rep, and npos.

◆ find_first_of() [3/4]

size_t DString::find_first_of ( const DString & s,
size_t pos = 0 ) const
inline

Definition at line 254 of file dstring.h.

254{ return m_rep.find_first_of(s.str(),pos); }

References DString(), m_rep, and str().

◆ find_first_of() [4/4]

size_t DString::find_first_of ( const std::string & s,
size_t pos = 0 ) const
inline

Definition at line 255 of file dstring.h.

255{ return m_rep.find_first_of(s,pos); }

References m_rep.

◆ find_last_not_of() [1/4]

size_t DString::find_last_not_of ( char c,
size_t pos = npos ) const
inline

Definition at line 267 of file dstring.h.

267{ return m_rep.find_last_not_of(c,pos); }

References m_rep, and npos.

◆ find_last_not_of() [2/4]

size_t DString::find_last_not_of ( const char * s,
size_t pos = npos ) const
inline

Definition at line 268 of file dstring.h.

268{ return s?m_rep.find_last_not_of(s,pos):npos; }

References m_rep, and npos.

◆ find_last_not_of() [3/4]

size_t DString::find_last_not_of ( const DString & s,
size_t pos = npos ) const
inline

Definition at line 269 of file dstring.h.

269{ return m_rep.find_last_not_of(s.str(),pos); }

References DString(), m_rep, npos, and str().

◆ find_last_not_of() [4/4]

size_t DString::find_last_not_of ( const std::string & s,
size_t pos = npos ) const
inline

Definition at line 270 of file dstring.h.

270{ return m_rep.find_last_not_of(s,pos); }

References m_rep, and npos.

◆ find_last_of() [1/4]

size_t DString::find_last_of ( char c,
size_t pos = npos ) const
inline

Definition at line 257 of file dstring.h.

257{ return m_rep.find_last_of(c,pos); }

References m_rep, and npos.

◆ find_last_of() [2/4]

size_t DString::find_last_of ( const char * s,
size_t pos = npos ) const
inline

Definition at line 258 of file dstring.h.

258{ return s?m_rep.find_last_of(s,pos):npos; }

References m_rep, and npos.

◆ find_last_of() [3/4]

size_t DString::find_last_of ( const DString & s,
size_t pos = npos ) const
inline

Definition at line 259 of file dstring.h.

259{ return m_rep.find_last_of(s.str(),pos); }

References DString(), m_rep, npos, and str().

◆ find_last_of() [4/4]

size_t DString::find_last_of ( const std::string & s,
size_t pos = npos ) const
inline

Definition at line 260 of file dstring.h.

260{ return m_rep.find_last_of(s,pos); }

References m_rep, and npos.

◆ findAndRemoveWord()

bool DString::findAndRemoveWord ( const char * word)

removes occurrences of whole word from this string, while keeping internal spaces and reducing multiple sequences of spaces.

Example: cat+ catfish cat cat concat cat, word=cat returns: + catfish concat

Parameters
wordThe word to search for and remove from this string.
Returns
true if at least one occurrence of word was found and removed, false otherwise

Definition at line 660 of file dstring.cpp.

661{
662 static reg::Ex re(R"(\s*(<\a+>)\s*)");
663 std::string s = m_rep;
664 reg::Iterator it(s,re);
665 reg::Iterator end;
666 std::string result;
667 bool found=false;
668 size_t p=0;
669 for ( ; it!=end ; ++it)
670 {
671 const auto &match = *it;
672 std::string part = match[1].str();
673 if (part!=word)
674 {
675 size_t i = match.position();
676 size_t l = match.length();
677 result+=s.substr(p,i-p);
678 result+=match.str();
679 p=i+l;
680 }
681 else
682 {
683 found=true;
684 size_t i = match[1].position();
685 size_t l = match[1].length();
686 result+=s.substr(p,i-p);
687 p=i+l;
688 }
689 }
690 result+=s.substr(p);
691 m_rep = DString(result).simplifyWhiteSpace().str();
692 return found;
693}
DString()=default
iterator end()
Definition dstring.h:183
bool match(std::string_view str, Match &match, const Ex &re)
Matches a given string str for a match against regular expression re.
Definition regex.cpp:861

References DString(), end(), and m_rep.

Referenced by isVarWithConstructor().

◆ front() [1/2]

char & DString::front ( )
inline

Returns a reference to the first character.

Undefined behavior if the string is empty.

Definition at line 195 of file dstring.h.

195{ return m_rep.front(); }

References m_rep.

◆ front() [2/2]

const char & DString::front ( ) const
inline

Definition at line 196 of file dstring.h.

196{ return m_rep.front(); }

References m_rep.

◆ insert() [1/4]

DString & DString::insert ( size_t index,
char c )
inline

Definition at line 483 of file dstring.h.

484 {
485 char s[2] = { c, '\0' };
486 return insert(index,s);
487 }
DString & insert(size_t index, const DString &s)
Definition dstring.h:425

References DString(), and insert().

◆ insert() [2/4]

DString & DString::insert ( size_t index,
const char * s )
inline

Definition at line 463 of file dstring.h.

464 {
465 size_t len = s ? dstrlen(s) : 0;
466 if (len>0)
467 {
468 size_t ol = m_rep.size();
469 if (index>ol) // insert beyond end of string and fill gap with spaces
470 {
471 m_rep.resize(index+len);
472 std::memset(&m_rep[ol],' ',index-ol);
473 std::memcpy(&m_rep[index],s,len+1);
474 }
475 else // insert inside the string
476 {
477 m_rep.insert(index,s);
478 }
479 }
480 return *this;
481 }

References DString(), dstrlen(), and m_rep.

◆ insert() [3/4]

DString & DString::insert ( size_t index,
const DString & s )
inline

Definition at line 425 of file dstring.h.

426 {
427 if (s.length()>0)
428 {
429 size_t ol = m_rep.size();
430 if (index>ol) // insert beyond end of string and fill gap with spaces
431 {
432 m_rep.resize(index+s.length());
433 std::memset(&m_rep[ol],' ',index-ol);
434 std::memcpy(&m_rep[index],s.data(),s.length()+1);
435 }
436 else // insert inside the string
437 {
438 m_rep.insert(index,s.str());
439 }
440 }
441 return *this;
442 }

References data(), DString(), length(), m_rep, and str().

Referenced by FileDefImpl::addIncludedUsingDirectives(), insert(), parseCommentAsHtml(), parseCommentAsText(), prepend(), prepend(), prepend(), prepend(), and replace().

◆ insert() [4/4]

DString & DString::insert ( size_t index,
std::string_view s )
inline

Definition at line 444 of file dstring.h.

445 {
446 if (s.length()>0)
447 {
448 size_t ol = m_rep.size();
449 if (index>ol) // insert beyond end of string and fill gap with spaces
450 {
451 m_rep.resize(index+s.length());
452 std::memset(&m_rep[ol],' ',index-ol);
453 std::memcpy(&m_rep[index],s.data(),s.length()+1);
454 }
455 else // insert inside the string
456 {
457 m_rep.insert(index,s);
458 }
459 }
460 return *this;
461 }

References DString(), and m_rep.

◆ integerToAlpha()

DString DString::integerToAlpha ( int n,
bool upper = true )
static

Definition at line 622 of file dstring.cpp.

623{
624 DString result;
625 int residual = n;
626
627 char modVal[2];
628 modVal[1] = 0;
629 while (residual > 0)
630 {
631 modVal[0] = (upper ? 'A': 'a') + (residual-1)%26;
632 result = modVal + result;
633 residual = (residual-1) / 26;
634 }
635 return result;
636}
DString upper() const
Definition dstring.h:331

References DString(), and upper().

Referenced by ManDocVisitor::operator()(), and RTFDocVisitor::operator()().

◆ integerToRoman()

DString DString::integerToRoman ( int n,
bool upper = true )
static

Definition at line 638 of file dstring.cpp.

639{
640 static const char *str_romans_upper[] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
641 static const char *str_romans_lower[] = { "m", "cm", "d", "cd", "c", "xc", "l", "xl", "x", "ix", "v", "iv", "i" };
642 static const int values[] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
643 static const char **str_romans = upper ? str_romans_upper : str_romans_lower;
644
645 DString result;
646 int residual = n;
647
648 for (int i = 0; i < 13; ++i)
649 {
650 while (residual - values[i] >= 0)
651 {
652 result += str_romans[i];
653 residual -= values[i];
654 }
655 }
656
657 return result;
658}

References DString(), and upper().

Referenced by LatexDocVisitor::operator()(), ManDocVisitor::operator()(), and RTFDocVisitor::operator()().

◆ left()

DString DString::left ( size_t len) const
inline

Definition at line 306 of file dstring.h.

307 {
308 return m_rep.empty() ? DString() : DString(m_rep.substr(0,len));
309 }
DString substr(size_t pos=0, size_t count=npos) const
Returns a substring of length count starting at pos.
Definition dstring.h:223

References DString(), and m_rep.

Referenced by MemberDefImpl::_computeIsConstructor(), MemberDefImpl::_writeCategoryRelation(), MemberDefImpl::_writeReimplements(), abbreviate(), VhdlDocGen::addBaseClass(), addCite(), addClassToContext(), VHDLOutlineParser::addCompInst(), addEnumValuesToEnums(), DocSets::addIndexItem(), addMacroDefinition(), addMemberFunction(), addMethodToClass(), addRelatedPage(), addTemplateNames(), addVariable(), adjustConfiguration(), alignText(), argListToString(), buildDirectories(), buildFileList(), buildFunctionList(), buildTypedefList(), DocParser::checkArgumentName(), checkList(), DocParser::checkUnOrMultipleDocumentedParams(), codifyLines(), combineArgsAndException(), computeCommonDirPrefix(), DotFilePatcher::convertMapFile(), convertNameToFile(), convertToHtmlAndTruncate(), VhdlDocGen::correctMemberProperties(), createTagLessInstance(), DocParser::defaultHandleTitleAndSize(), demangleCSharpGenericName(), determineBlockName(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), DocInternalRef::DocInternalRef(), DocRef::DocRef(), LayoutParser::endElement(), LayoutParser::endMemberDecl(), LayoutParser::endMemberDef(), DocGroup::enterCompound(), expandExpression(), extractClassName(), extractLanguageSpecificTitle(), extractNamespaceName(), extractNoExcept(), Markdown::Private::extractTitleId(), fillColorStyleMap(), filterMemberDocumentation(), DocParser::findAndCopyImage(), findClassRelation(), findDirDocumentation(), DocParser::findDocsForMemberOrCompound(), findEnumDocumentation(), findEnums(), FileNameLinkedMap::findFileDef(), findGlobalMember(), findMember(), findPackageScopeFromPath(), findScopeFromQualifiedName(), findUsingDeclImports(), findUsingDirectives(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateFunctionLink(), generateFunctionLink(), generateMemberLink(), CitationManager::generatePage(), PlantumlManager::generatePlantUmlFileNames(), generateXMLForMember(), getBaseNameOfOutput(), getDotImageExtension(), getFilteredImageAttributes(), getFilterFromList(), getMemberFromSymbol(), ParserManager::getParsers(), SymbolResolver::Private::getResolvedSymbolRec(), SymbolResolver::Private::getResolvedTypeRec(), getScopeDefs(), getTemplateArgumentsFromName(), DocPara::handleCommand(), DocParser::handleLinkedWord(), handleToc(), initUCF(), insertTemplateSpecifierInScope(), Markdown::Private::isAtxHeader(), isCastKeyword(), MemberDefImpl::isDocumentedFriendClass(), isRecursiveBaseClass(), isURL(), isVarWithConstructor(), DiagramItem::label(), leftScopeMatch(), linkifyText(), Htags::loadFilemap(), makeDisplayName(), makeTemplateInstanceRelation(), mangleCSharpGenericName(), markdownFileNameToId(), matchCanonicalTypes(), matchExcludedSymbols(), mergeArguments(), mergeCategories(), DirDefImpl::mergeDirectoryInTree(), ClassDefImpl::mergeMembersFromBaseClasses(), mergeScopes(), DefinitionImpl::navigationPathAsString(), SymbolResolver::Private::newResolveTypedef(), normalizeNonTemplateArgumentsInString(), LatexDocVisitor::operator()(), DocLink::parse(), DocParamList::parse(), parseCommentAsText(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), MarkdownOutlineParser::parseInput(), parseMain(), VhdlDocGen::parseUCF(), VHDLOutlineParser::popLabel(), FlowChart::printNode(), Markdown::Private::processLink(), projectLogoFile(), readTagFile(), replaceNamespaceAliasesRec(), replaceRef(), resolveRef(), resolveSymlink(), resolveTemplateInstanceInType(), resolveTypeDef(), DotFilePatcher::run(), searchInputFiles(), searchTemplateSpecs(), setCallContextForVar(), setClassScope(), MemberDefImpl::setInitializer(), StyleData::setStyle(), FileNameLinkedMap::showFileDefMatches(), simplifyTypeForTable(), splitKnRArg(), splitString(), stripAnonymousNamespaceScope(), stripComment(), stripDeclKeywords(), stripExtensionGeneral(), stripFromPath(), stripFuncPtr(), stripIrrelevantString(), stripKnownExtensions(), stripWord(), substituteKeywords(), substituteTemplateArgumentsInString(), trimBaseClassScope(), DotAttributes::updateValue(), MemberDefImpl::writeDeclaration(), DotNode::writeDEF(), writeDefArgumentList(), FileDefImpl::writeDetailedDescription(), DotNode::writeDocbook(), MemberDefImpl::writeDocumentation(), writeExceptionListImpl(), HtmlGenerator::writeExternalSearchPage(), HtmlHelpIndex::writeFields(), VhdlDocGen::writeFormatString(), writeGroupTreeNode(), ClassDefImpl::writeIncludeFilesForSlice(), MemberDefImpl::writeMemberDocSimple(), MermaidManager::writeMermaidSource(), PlantumlManager::writePlantUMLSource(), VhdlDocGen::writeRecordUnit(), VhdlDocGen::writeSource(), DefinitionImpl::writeSourceDef(), ConfigBool::writeTemplate(), ConfigEnum::writeTemplate(), ConfigInt::writeTemplate(), ConfigList::writeTemplate(), ConfigString::writeTemplate(), DocSets::writeToken(), DotNode::writeUrl(), and DotNode::writeXML().

◆ length()

size_t DString::length ( ) const
inline

Returns the length of the string, not counting the 0-terminator.

Equivalent to size().

Definition at line 151 of file dstring.h.

151{ return m_rep.size(); }

References m_rep.

Referenced by DefinitionImpl::_setBriefDescription(), HtmlCodeGenerator::_writeCodeLink(), MemberDefImpl::_writeReimplements(), abbreviate(), addEnumValuesToEnums(), addIncludeFile(), DocSets::addIndexItem(), addMemberToGroups(), addRelatedPage(), addSeparatorsIfNeeded(), addTemplateNames(), addVariable(), FlowChart::alignCommentNode(), FlowChart::alignFuncProc(), alignText(), buildDirectories(), buildFileName(), buildFunctionList(), buildGroupListFiltered(), charsToIndex(), Config::checkAndCorrect(), DocParser::checkArgumentName(), checkExtension(), VHDLOutlineParser::checkInlineCode(), DocParser::checkUnOrMultipleDocumentedParams(), checkVhdlString(), computeCommonDirPrefix(), computeQualifiedIndex(), computeVerifiedDotPath(), configStringRecode(), contains(), contains(), HtmlEntityMapper::convertCharEntitiesToUTF8(), TranslatorPersian::convertDigitsToFarsi(), DotNode::convertLabel(), convertNameToFile(), DocbookGenerator::convertToDocbook(), convertToHtml(), convertToHtmlAndTruncate(), convertToId(), convertToJSString(), convertToPSString(), convertToXML(), Translator::createNoun(), createOutputDirectory(), DocParser::defaultHandleTitleAndSize(), detab(), DotClassGraph::determineVisibleNodes(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), DocAnchor::DocAnchor(), DocEmoji::DocEmoji(), docifyToString(), docifyToString(), DocRef::DocRef(), elemIsVisible(), encodeForOutput(), LayoutParser::endElement(), endsWith(), escapeCharsInString(), escapeId(), expandVAOpt(), externalRef(), DefinitionImpl::externalReference(), extractBeginRawStringDelimiter(), extractBind(), extractBlock(), extractClassNameFromType(), extractEndRawStringDelimiter(), extractFromParens(), extractLanguageSpecificTitle(), extractNamespaceName(), extractNoExcept(), extractTrailingComment(), filter2008VhdlComment(), filterId(), HtmlDocVisitor::filterQuotedCdataAttr(), DocParser::findAndCopyImage(), findClassRelation(), findDirDocumentation(), DocParser::findDocsForMemberOrCompound(), Markdown::Private::findEmphasisChar(), Markdown::Private::findEndOfLine(), findEndOfTemplate(), findEnums(), FileNameLinkedMap::findFileDef(), findTemplateSpecializationPosition(), findUsingDeclImports(), findUsingDirectives(), format_warn(), VhdlDocGen::formatString(), generateClassOrGlobalLink(), getConvertLatexMacro(), getCurrentChar(), getExtension(), getFileFilter(), CitationManager::getFormulas(), getNextChar(), getNextId(), ParserManager::getParsers(), getPrefixIndex(), SymbolResolver::Private::getResolvedSymbolRec(), SymbolResolver::Private::getResolvedTypeRec(), getScopeDefs(), getScopeFragment(), handle_warn_as_error(), DocParser::handleLinkedWord(), DocPara::handleStartCode(), DocParser::handleStyleArgument(), insert(), ClassDefImpl::internalInsertMember(), Portable::isAbsolutePath(), Markdown::Private::isAtxHeader(), isConstraintFile(), DocFormula::isInline(), DocImage::isSVG(), isVarWithConstructor(), DiagramItem::label(), latexEscapeIndexChars(), latexEscapeLabelName(), leftScopeMatch(), makeDisplayName(), matchArgument2(), matchExcludedSymbols(), DirDefImpl::matchPath(), mergeArguments(), ClassDefImpl::mergeMembersFromBaseClasses(), mergeScopes(), nameIsActuallyPartOfType(), DefinitionImpl::navigationPathAsString(), SymbolResolver::Private::newResolveTypedef(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), ManDocVisitor::operator()(), RTFDocVisitor::operator()(), TextDocVisitor::operator()(), XmlDocVisitor::operator()(), DocInclude::parse(), DocLink::parse(), FileCodeParser::parseCode(), parseCommentAsText(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), parseMain(), Htags::path2URL(), Markdown::process(), Markdown::Private::processBlocks(), DocParser::processCopyDoc(), Markdown::Private::processLink(), processList(), Markdown::Private::processQuotations(), Markdown::Private::processSpecialCommand(), processString(), projectLogoSize(), DocTokenizer::pushBackHtmlTag(), readCodeFragment(), readIncludeFile(), readIncludeFile(), HtmlHelpRecoder::recode(), Portable::recodeUtf8StringToW(), recognizeFixedForm(), removeRedundantWhiteSpace(), replaceFunctionMacro(), replaceVariables(), resolveRef(), resolveSymlink(), resolveUserReferences(), rfind_insensitive(), rfind_insensitive(), rightScopeMatch(), rtfFormatBmkStr(), DotFilePatcher::run(), DotRunner::run(), runMermaid(), searchInputFiles(), searchTemplateSpecs(), selectBlocks(), MemberDefImpl::setInitializer(), simplifyTypeForTable(), simplifyWhiteSpace(), skipToEndMarker(), splitSearchTokens(), sprintf(), startsWithKeyword(), stringize(), stripAnonymousNamespaceScope(), stripComment(), stripExtensionGeneral(), stripFuncPtr(), stripIrrelevantString(), stripKnownExtensions(), stripLeadingAndTrailingEmptyLines(), stripQuotes(), stripQuotes(), stripScope(), stripTemplateSpecifiers(), stripTemplateSpecifiersFromScope(), stripTrailingWhiteSpace(), stripWord(), substEnvVarsInStrList(), substitute(), substitute(), substituteKeywords(), SymbolResolver::Private::substTypedef(), SearchTerm::termEncoded(), toLong(), toUInt64(), toULong(), trimBaseClassScope(), Trace::trunc(), TranslatorJapanese::trWriteList(), unescapeCharsInString(), unputChar(), DocTokenizer::unputString(), validatingParseDoc(), DocbookCodeGenerator::writeCodeLink(), LatexCodeGenerator::writeCodeLink(), RTFCodeGenerator::writeCodeLink(), XMLCodeGenerator::writeCodeLink(), DocbookCodeGenerator::writeCodeLinkLine(), writeDefArgumentList(), FileDefImpl::writeDetailedDescription(), MemberDefImpl::writeDocumentation(), writeInlineGraph(), HtmlGenerator::writeLabel(), MermaidManager::writeMermaidSource(), PlantumlManager::writePlantUMLSource(), FlowChart::writeShape(), writeSingleFileIndex(), writeString(), ConfigOption::writeStringList(), ConfigBool::writeTemplate(), ConfigEnum::writeTemplate(), ConfigInt::writeTemplate(), ConfigList::writeTemplate(), ConfigString::writeTemplate(), ClassDefImpl::writeTemplateSpec(), DocSets::writeToken(), writeUCFLink(), writeWord(), DotNode::writeXML(), and HtmlEntityMapper::writeXMLSchema().

◆ lower()

DString DString::lower ( ) const
inline

Definition at line 326 of file dstring.h.

327 {
329 }
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:191

References convertUTF8ToLower(), DString(), and m_rep.

Referenced by VHDLOutlineParser::addCompInst(), DocSets::addIndexItem(), VHDLOutlineParser::addLibUseClause(), addLocalVar(), addSubprogram(), SearchIndex::addWordRec(), adjustConfiguration(), DocHtmlCell::alignment(), Config::checkAndCorrect(), DocParser::checkArgumentName(), checkFileName(), checkIfHtmlEndTagEndsAutoList(), DocParser::checkUnOrMultipleDocumentedParams(), codifyMapLines(), convertStringToBool(), ConfigEnum::convertStrToVal(), VhdlDocGen::correctMemberProperties(), DocRef::DocRef(), DocStyleChange::DocStyleChange(), DocStyleChange::DocStyleChange(), elemIsVisible(), endScope(), extractClassNameFromType(), CitationManager::find(), findArgument(), FileNameLinkedMap::findFileDef(), VhdlDocGen::findKeyWord(), VhdlDocGen::findMember(), generateLink(), CitationManager::generatePage(), getFilteredImageAttributes(), getFilterFromList(), getFortranDefs(), getLanguageFromCodeLang(), getLanguageFromFileName(), getParameter(), ParserManager::getParsers(), EntryType::guessSection(), DocPara::handleCommand(), handleFileInfoResult(), handleHtmlTag(), DocParser::handleImage(), handleImage(), handleInheritanceGraph(), DocParser::handleStyleLeave(), handleToc(), PageDefImpl::hasTitle(), MemberDefImpl::init(), CitationManager::insert(), CitationManager::insertCrossReferencesForBibFile(), keyWordsFortranC(), Mapper< T >::map(), COutlineParser::needsPreprocessing(), FortranOutlineParser::needsPreprocessing(), SymbolModifiers::operator|=(), MarkdownOutlineParser::parseInput(), Markdown::Private::processHtmlTagWrite(), Markdown::Private::processLink(), subrHandleCommentBlock(), subrHandleCommentBlockResult(), substituteHtmlKeywords(), updateLanguageMapping(), Config::updateObsolete(), DocHtmlCell::valignment(), VhdlConfNode::VhdlConfNode(), Markdown::Private::writeBlockQuote(), writeColoredWord(), and ClassDefImpl::writeTemplateSpec().

◆ max_size()

size_t DString::max_size ( ) const
inline

Definition at line 206 of file dstring.h.

206{ return m_rep.max_size(); }

References m_rep.

◆ mid()

DString DString::mid ( size_t index,
size_t len = npos ) const
inline

Definition at line 318 of file dstring.h.

319 {
320 size_t slen = m_rep.size();
321 if (len==npos) len = slen-index;
322 return m_rep.empty() || index>slen || len==0 ? DString() :
323 DString(m_rep.substr(index,len));
324 }

References DString(), m_rep, and npos.

Referenced by MemberDefImpl::_writeCategoryRelation(), MemberDefImpl::_writeEnumValues(), abbreviate(), VhdlDocGen::addBaseClass(), addClassToContext(), VHDLOutlineParser::addCompInst(), addEnumValuesToEnums(), addIncludeFile(), addMacroDefinition(), addMemberFunction(), addModule(), addTemplateNames(), addToMap(), ClassDefImpl::addTypeConstraints(), addVariable(), adjustConfiguration(), argListToString(), buildFunctionList(), buildScopeFromQualifiedName(), buildTypedefList(), VHDLOutlineParser::checkInlineCode(), checkList(), checkVhdlString(), combineArgsAndException(), convertFileId2Var(), DotFilePatcher::convertMapFile(), MemberList::countEnumValues(), createJavaScriptSearchIndex(), Translator::createNoun(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), DocInternalRef::DocInternalRef(), DocRef::DocRef(), elemIsVisible(), ExistsOnPath(), expandExpression(), expandVAOpt(), DocInclude::extension(), extractBeginRawStringDelimiter(), extractBind(), extractBlock(), extractCanonicalType(), extractClassNameFromType(), extractEndRawStringDelimiter(), extractLanguageSpecificTitle(), extractNamespaceName(), extractNoExcept(), Markdown::extractPageTitle(), extractPartAfterNewLine(), fillColorStyleMap(), filterMemberDocumentation(), VhdlDocGen::findAllArchitectures(), DocParser::findAndCopyImage(), findClassRelation(), DocParser::findDocsForMemberOrCompound(), findEnumDocumentation(), FileNameLinkedMap::findFileDef(), findGlobalMember(), findMember(), findPackageScopeFromPath(), findParameterList(), findScopeFromQualifiedName(), findUsingDeclImports(), SymbolResolver::Private::followPath(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateFunctionLink(), generateFunctionLink(), generateMemberLink(), MermaidManager::generateMermaidOutput(), CitationManager::generatePage(), PerlModGenerator::generatePerlModForMember(), PlantumlManager::generatePlantUMLOutput(), generateSqlite3ForMember(), generateXMLForMember(), getCanonicalTemplateSpec(), getExtension(), getFileFilter(), getFileNameExtension(), getFilteredImageAttributes(), getFilterFromList(), getLanguageFromCodeLang(), getLinkInScope(), getMemberFromSymbol(), getParserForFile(), SymbolResolver::Private::getResolvedSymbolRec(), SymbolResolver::Private::getResolvedTypeRec(), getScopeDefs(), EntryType::guessSection(), DocPara::handleCommand(), handleHtmlTag(), DocParser::handleImage(), handleImage(), DocParser::handleParameterType(), handleToc(), CitationManager::insertCrossReferencesForBibFile(), insertTemplateSpecifierInScope(), ClassDefImpl::isExtension(), DocImage::isSVG(), linkifyText(), linkToText(), Htags::loadFilemap(), makeDisplayName(), makeFileName(), makeFileName(), makeTemplateInstanceRelation(), matchCanonicalTypes(), matchExcludedSymbols(), mergeScopes(), SymbolResolver::Private::newResolveTypedef(), node2URL(), normalizeNonTemplateArgumentsInString(), VHDLOutlineParser::oneLineComment(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), PerlModDocVisitor::operator()(), TextDocVisitor::operator()(), XmlDocVisitor::operator()(), DocIncOperator::parse(), DocPara::parse(), DocParamList::parse(), FileCodeParser::parseCode(), parseFile(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), MarkdownOutlineParser::parseInput(), Htags::path2URL(), VhdlDocGen::prepareComment(), Markdown::process(), Markdown::Private::processLink(), processString(), projectLogoSize(), readIncludeFile(), readIncludeFile(), readTagFile(), Portable::removeLongPathMarker(), CitationManager::replaceFormulas(), replaceNamespaceAliasesRec(), replaceRef(), replaceVariables(), resolveRef(), resolveSymlink(), resolveTemplateInstanceInType(), resolveTypeDef(), DotFilePatcher::run(), MemberList::setAnonymousEnumType(), setCallContextForVar(), setClassScope(), StyleData::setStyle(), FileNameLinkedMap::showFileDefMatches(), splitKnRArg(), splitSearchTokens(), ManGenerator::startDoxyAnchor(), stripAnonymousNamespaceScope(), stripComment(), stripDeclKeywords(), stripFromPath(), stripIrrelevantString(), stripLeadingAndTrailingEmptyLines(), stripPath(), stripProtectionPrefix(), stripQuotes(), stripQuotes(), stripTemplateSpecifiersFromScope(), stripTrailingReturn(), stripWord(), subrHandleCommentBlock(), substEnvVarsInStrList(), substituteTemplateArgumentsInString(), substituteTemplatesInString(), TranslatorAfrikaans::trDayOfWeek(), TranslatorBrazilian::trDayOfWeek(), TranslatorCatalan::trDayOfWeek(), TranslatorCzech::trDayOfWeek(), TranslatorDanish::trDayOfWeek(), TranslatorDutch::trDayOfWeek(), TranslatorEsperanto::trDayOfWeek(), TranslatorFinnish::trDayOfWeek(), TranslatorFrench::trDayOfWeek(), TranslatorHungarian::trDayOfWeek(), TranslatorItalian::trDayOfWeek(), TranslatorLatvian::trDayOfWeek(), TranslatorLithuanian::trDayOfWeek(), TranslatorNorwegian::trDayOfWeek(), TranslatorPolish::trDayOfWeek(), TranslatorPortuguese::trDayOfWeek(), TranslatorRomanian::trDayOfWeek(), TranslatorSerbian::trDayOfWeek(), TranslatorSlovak::trDayOfWeek(), TranslatorSlovene::trDayOfWeek(), TranslatorSpanish::trDayOfWeek(), TranslatorSwedish::trDayOfWeek(), TranslatorAfrikaans::trMonth(), TranslatorBrazilian::trMonth(), TranslatorCatalan::trMonth(), TranslatorCzech::trMonth(), TranslatorDanish::trMonth(), TranslatorDutch::trMonth(), TranslatorEsperanto::trMonth(), TranslatorFinnish::trMonth(), TranslatorFrench::trMonth(), TranslatorHungarian::trMonth(), TranslatorItalian::trMonth(), TranslatorLatvian::trMonth(), TranslatorLithuanian::trMonth(), TranslatorNorwegian::trMonth(), TranslatorPolish::trMonth(), TranslatorPortuguese::trMonth(), TranslatorRomanian::trMonth(), TranslatorSerbian::trMonth(), TranslatorSlovak::trMonth(), TranslatorSlovene::trMonth(), TranslatorSpanish::trMonth(), TranslatorSwedish::trMonth(), NamespaceDefImpl::updateLocalName(), DotAttributes::updateValue(), LayoutNavEntry::url(), MemberDefImpl::writeDeclaration(), DotNode::writeDEF(), writeDefArgumentList(), DotNode::writeDocbook(), MemberDefImpl::writeDocumentation(), MemberDefImpl::writeEnumDeclaration(), writeExceptionList(), writeExceptionListImpl(), HtmlGenerator::writeExternalSearchPage(), HtmlHelpIndex::writeFields(), writeGroupTreeNode(), ClassDefImpl::writeIncludeFilesForSlice(), Markdown::Private::writeMarkdownImage(), MemberDefImpl::writeMemberDocSimple(), writeMscGraphFromFile(), writeObjCMethodCall(), PlantumlManager::writePlantUMLSource(), DefinitionImpl::writeSourceDef(), ConfigOption::writeStringList(), DotNode::writeUrl(), DotNode::writeXML(), and HtmlEntityMapper::writeXMLSchema().

◆ operator+=() [1/4]

DString & DString::operator+= ( const char * s)
inline

Appends string str to this string and returns a reference to the result.

Definition at line 669 of file dstring.h.

670 {
671 if (s) m_rep+=s;
672 return *this;
673 }

References DString(), and m_rep.

◆ operator+=() [2/4]

DString & DString::operator+= ( const DString & s)
inline

Definition at line 650 of file dstring.h.

651 {
652 m_rep+=s.str();
653 return *this;
654 }

References DString(), m_rep, and str().

Referenced by append(), append(), append(), and append().

◆ operator+=() [3/4]

DString & DString::operator+= ( const std::string & s)
inline

Definition at line 656 of file dstring.h.

657 {
658 m_rep+=s;
659 return *this;
660 }

References DString(), and m_rep.

◆ operator+=() [4/4]

DString & DString::operator+= ( std::string_view s)
inline

Definition at line 662 of file dstring.h.

663 {
664 m_rep+=s;
665 return *this;
666 }

References DString(), and m_rep.

◆ operator=() [1/7]

DString & DString::operator= ( const char * str)
inline

replaces the contents by that of C string str.

Definition at line 143 of file dstring.h.

143{ m_rep = str?str:""; return *this; }

References DString(), m_rep, and str().

◆ operator=() [2/7]

DString & DString::operator= ( const DString & )
default

References DString().

Referenced by assign(), assign(), and assign().

◆ operator=() [3/7]

DString & DString::operator= ( const JavaCCString & s)
inline

Definition at line 120 of file dstring.h.

121 {
122 m_rep.resize(s.size());
123 std::memcpy(m_rep.data(),s.data(),s.size());
124 return *this;
125 }

References DString(), and m_rep.

◆ operator=() [4/7]

DString & DString::operator= ( const std::string & s)
inline

Definition at line 145 of file dstring.h.

145{ m_rep = s; return *this; }

References DString(), and m_rep.

◆ operator=() [5/7]

DString & DString::operator= ( DString && )
default

References DString().

◆ operator=() [6/7]

DString & DString::operator= ( std::string && s)
inline

Definition at line 97 of file dstring.h.

98 {
99 m_rep=std::move(s);
100 return *this;
101 }

References DString(), and m_rep.

◆ operator=() [7/7]

DString & DString::operator= ( std::string_view sv)
inline

Definition at line 105 of file dstring.h.

106 {
107 m_rep=sv;
108 return *this;
109 }

References DString(), and m_rep.

◆ operator[]() [1/2]

char & DString::operator[] ( size_t i)
inline

Indexing operator.

Equivalent to at().

Definition at line 697 of file dstring.h.

698 {
699 return m_rep[i];
700 }

References m_rep.

◆ operator[]() [2/2]

const char & DString::operator[] ( size_t i) const
inline

Definition at line 702 of file dstring.h.

703 {
704 return m_rep[i];
705 }

References m_rep.

◆ pop_back()

void DString::pop_back ( )
inline

Definition at line 203 of file dstring.h.

203{ m_rep.pop_back(); }

References m_rep.

◆ prepend() [1/4]

DString & DString::prepend ( const char * s)
inline

Definition at line 515 of file dstring.h.

516 {
517 return insert(0,s);
518 }

References DString(), and insert().

Referenced by DefinitionImpl::_writeSourceRefList(), addClassToContext(), addConceptToContext(), MemberDefImpl::addListReference(), addMemberFunction(), addModule(), RequirementManager::addRequirement(), addSTLClass(), ClassDefImpl::addUsedByClass(), ClassDefImpl::addUsedClass(), addVariable(), FlowChart::alignFuncProc(), MemberDefImpl::anchor(), buildFunctionList(), convertFileId2Var(), convertNameToFile(), correctURL(), VHDLOutlineParser::createFlow(), createOutputDirectory(), MemberDefImpl::displayDefinition(), DocEmoji::DocEmoji(), externalRef(), DefinitionImpl::externalReference(), MemberDefImpl::fieldType(), FileDefImpl::FileDefImpl(), filterMemberDocumentation(), findClassRelation(), DocParser::findDocsForMemberOrCompound(), findEnumDocumentation(), findEnums(), findMember(), generateDEFForMember(), generateOutput(), generatePHPVariableLink(), PlantumlManager::generatePlantUmlFileNames(), MemberDefImpl::getDeclType(), getExtension(), getLanguageFromFileName(), getLink(), getLink(), FlowChart::getNodeName(), getScopeDefs(), SymbolResolver::Private::newResolveTypedef(), HtmlDocVisitor::operator()(), parseFuncDecl(), MarkdownOutlineParser::parseInput(), parseInput(), processTagLessClasses(), projectLogoSize(), quoted(), replaceRef(), MemberDefImpl::setAnchor(), SearchIndex::setCurrentDoc(), setDotFontPath(), MemberDefImpl::sourceRefName(), LatexDocVisitor::startDiaFile(), LatexDocVisitor::startDotFile(), LatexDocVisitor::startMscFile(), substituteHtmlKeywords(), unputChar(), updateLanguageMapping(), MemberDefImpl::writeDeclaration(), NamespaceLinkedRefMap::writeDeclaration(), ClassDefImpl::writeDeclarationLink(), ConceptDefImpl::writeDeclarationLink(), ModuleDefImpl::writeDeclarationLink(), writeDefArgumentList(), HtmlDocVisitor::writeDiaFile(), GroupDefImpl::writeDirs(), MemberDefImpl::writeDocumentation(), HtmlDocVisitor::writeDotFile(), DirDefImpl::writeFileList(), GroupDefImpl::writeFiles(), ModuleDefImpl::writeFiles(), HtmlGenerator::writeInheritedSectionTitle(), VhdlDocGen::writeInlineClassLink(), LatexCodeGenerator::writeLineNumber(), RTFCodeGenerator::writeLineNumber(), MemberDefImpl::writeLink(), writeMemberReference(), MermaidManager::writeMermaidSource(), HtmlDocVisitor::writeMscFile(), GroupDefImpl::writeNestedGroups(), writeSingleFileIndex(), VhdlDocGen::writeSource(), DirDefImpl::writeSubDirList(), VhdlDocGen::writeVHDLDeclaration(), and VhdlDocGen::writeVhdlLink().

◆ prepend() [2/4]

DString & DString::prepend ( const DString & s)
inline

Definition at line 520 of file dstring.h.

521 {
522 return insert(0,s.data());
523 }

References data(), DString(), and insert().

◆ prepend() [3/4]

DString & DString::prepend ( const std::string & s)
inline

Definition at line 525 of file dstring.h.

526 {
527 return insert(0,s.c_str());
528 }

References DString(), and insert().

◆ prepend() [4/4]

DString & DString::prepend ( std::string_view s)
inline

Definition at line 530 of file dstring.h.

531 {
532 return insert(0,s);
533 }

References DString(), and insert().

◆ push_back()

void DString::push_back ( char c)
inline

Definition at line 202 of file dstring.h.

202{ m_rep.push_back(c); }

References m_rep.

Referenced by Config::checkAndCorrect(), and readIncludeFile().

◆ quoted()

DString DString::quoted ( ) const
inline

Definition at line 352 of file dstring.h.

353 {
354 size_t start=0, sl=m_rep.size(), end=sl-1;
355 while (start<sl && disspace(m_rep[start])) start++; // skip over leading whitespace
356 if (start==sl) return DString(); // only whitespace
357 while (end>start && disspace(m_rep[end])) end--; // skip over trailing whitespace
358 bool needsQuotes=false;
359 size_t i=start;
360 if (i<end && m_rep[i]!='"') // stripped string has at least non-whitespace unquoted character
361 {
362 while (i<end && !needsQuotes) // check if the to be quoted part has at least one whitespace character
363 {
364 needsQuotes = m_rep[i] =='-';
365 needsQuotes |= disspace(m_rep[i++]);
366 }
367 }
368 DString result(m_rep.substr(start,1+end-start));
369 if (needsQuotes)
370 {
371 result.prepend("\"");
372 result.append("\"");
373 }
374 return result;
375 }
bool disspace(char c)
Definition dstring.h:62

References append(), disspace(), DString(), end(), m_rep, and prepend().

Referenced by projectLogoSize(), DotAttributes::updateValue(), writeLatexMakefile(), and writeMakeBat().

◆ rawData()

◆ rbegin() [1/2]

reverse_iterator DString::rbegin ( )
inline

Definition at line 187 of file dstring.h.

187{ return m_rep.rbegin(); }

References m_rep.

◆ rbegin() [2/2]

const_reverse_iterator DString::rbegin ( ) const
inline

Definition at line 188 of file dstring.h.

188{ return m_rep.rbegin(); }

References m_rep.

◆ remove()

DString & DString::remove ( size_t index,
size_t len )
inline

◆ removeWhiteSpace()

DString DString::removeWhiteSpace ( ) const
inline

returns a copy of this string with all whitespace removed

Definition at line 378 of file dstring.h.

379 {
380 size_t sl = m_rep.size();
381 if (sl==0) return *this;
382 std::string result = m_rep;
383 size_t src=0,dst=0;
384 while (src<sl)
385 {
386 if (!disspace(m_rep[src])) result[dst++]=m_rep[src];
387 src++;
388 }
389 if (dst<m_rep.size()) result.resize(dst);
390 return DString(result);
391 }

References disspace(), DString(), and m_rep.

◆ rend() [1/2]

reverse_iterator DString::rend ( )
inline

Definition at line 190 of file dstring.h.

190{ return m_rep.rend(); }

References m_rep.

◆ rend() [2/2]

const_reverse_iterator DString::rend ( ) const
inline

Definition at line 191 of file dstring.h.

191{ return m_rep.rend(); }

References m_rep.

◆ repeat()

DString DString::repeat ( unsigned int n) const
inline

Definition at line 414 of file dstring.h.

415 {
416 DString result(n * size(), ExplicitSize);
417 size_t offset = 0;
418 for (offset = 0; offset < n * size(); offset += size())
419 {
420 memcpy(result.rawData() + offset, data(), size());
421 }
422 return result;
423 }

References data(), DString(), ExplicitSize, rawData(), and size().

Referenced by LatexGenerator::startGroupHeader(), LatexGenerator::startInlineHeader(), LatexGenerator::startMemberDoc(), LatexGenerator::startMemberHeader(), LatexGenerator::startTitleHead(), and LatexGenerator::writeInheritedSectionTitle().

◆ replace()

DString & DString::replace ( size_t index,
size_t len,
const char * s )

Definition at line 154 of file dstring.cpp.

155{
156 remove( index, len );
157 insert( index, s );
158 return *this;
159}
DString & remove(size_t index, size_t len)
Definition dstring.h:535

References DString(), insert(), and remove().

Referenced by VhdlDocGen::convertFileNameToClassName(), VhdlDocGen::formatString(), version(), writeClassTreeInsideNamespaceElement(), writeNamespaceIndex(), and writeNamespaceTreeElement().

◆ reserve()

◆ resize() [1/2]

◆ resize() [2/2]

void DString::resize ( size_t newlen,
char c )
inline

Resizes the string to newlen characters, filling any new characters with c.

Definition at line 212 of file dstring.h.

212{ m_rep.resize(newlen,c); }

References m_rep.

◆ rfind() [1/4]

size_t DString::rfind ( char c,
size_t pos = npos ) const
inline

Definition at line 244 of file dstring.h.

244{ return m_rep.rfind(c,pos); }

References m_rep, and npos.

Referenced by abbreviate(), addEnumValuesToEnums(), addHtmlExtensionIfMissing(), addMemberFunction(), addModule(), addTemplateNames(), alignText(), buildDirectories(), buildFileList(), buildFunctionList(), combineArgsAndException(), computeCommonDirPrefix(), convertFileId2Var(), VhdlDocGen::correctMemberProperties(), MemberList::countEnumValues(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), LayoutParser::endMemberDecl(), LayoutParser::endMemberDef(), endScope(), DocInclude::extension(), extractFromParens(), extractNamespaceName(), fillColorStyleMap(), DocParser::findAndCopyImage(), findClassRelation(), findDirDocumentation(), DocParser::findDocsForMemberOrCompound(), findEnumDocumentation(), findEnums(), FileNameLinkedMap::findFileDef(), findGlobalMember(), findPackageScopeFromPath(), findParameterList(), findUsingDeclImports(), findUsingDirectives(), generateClassOrGlobalLink(), generateFunctionLink(), generateFunctionLink(), generateMemberLink(), MermaidManager::generateMermaidOutput(), PlantumlManager::generatePlantUmlFileNames(), PlantumlManager::generatePlantUMLOutput(), generateXMLForMember(), getBaseNameOfOutput(), getCanonicalTypeForIdentifier(), getFileNameExtension(), getParserForFile(), getScopeDefs(), EntryType::guessSection(), FileDefImpl::isDocumentationFile(), NamespaceDefImpl::isLinkableInProject(), linkifyText(), Htags::loadFilemap(), makeDisplayName(), makeTemplateInstanceRelation(), markdownFileNameToId(), mergeScopes(), SymbolResolver::Private::newResolveTypedef(), parseFile(), VhdlDocGen::parseForBinding(), VhdlDocGen::parseForConfig(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), VHDLOutlineParser::popLabel(), readCodeFragment(), relativePathToRoot(), resolveModuleProcedures(), resolveRef(), resolveTypeDef(), MemberList::setAnonymousEnumType(), setCallContextForVar(), setClassScope(), FileNameLinkedMap::showFileDefMatches(), ManGenerator::startDoxyAnchor(), stripPath(), NamespaceDefImpl::updateLocalName(), version(), writeDefArgumentList(), MemberDefImpl::writeDocumentation(), MemberDefImpl::writeEnumDeclaration(), MermaidManager::writeMermaidSource(), writeMscGraphFromFile(), PlantumlManager::writePlantUMLSource(), FlowChart::writeShape(), and DotNode::writeUrl().

◆ rfind() [2/4]

size_t DString::rfind ( const char * s,
size_t pos = npos ) const
inline

Definition at line 245 of file dstring.h.

245{ return s?m_rep.rfind(s,pos):npos; }

References m_rep, and npos.

◆ rfind() [3/4]

size_t DString::rfind ( const DString & s,
size_t pos = npos ) const
inline

Definition at line 246 of file dstring.h.

246{ return m_rep.rfind(s.str(),pos); }

References DString(), m_rep, npos, and str().

◆ rfind() [4/4]

size_t DString::rfind ( const std::string & s,
size_t pos = npos ) const
inline

Definition at line 247 of file dstring.h.

247{ return m_rep.rfind(s,pos); }

References m_rep, and npos.

◆ rfind_insensitive() [1/2]

size_t DString::rfind_insensitive ( char c,
size_t pos = npos ) const

Definition at line 48 of file dstring.cpp.

49{
50 const char *b = data();
51 const char *pos = nullptr;
52 size_t len = length();
53 if (len==0) return -1; // empty string
54 if (index==npos) // start from end
55 {
56 index=len;
57 }
58 else if (index>len) // bad index
59 {
60 return DString::npos;
61 }
62 pos = b+index;
63 c = toLowerChar(c);
64 while ( pos>=b && toLowerChar(*pos)!=c) pos--;
65 return pos>=b ? static_cast<size_t>(pos-b) : DString::npos;
66}

References data(), length(), npos, and toLowerChar().

Referenced by VhdlDocGen::deleteAllChars(), VhdlDocGen::deleteCharRev(), and VhdlDocGen::parseFuncProto().

◆ rfind_insensitive() [2/2]

size_t DString::rfind_insensitive ( const char * str,
size_t pos = npos ) const

Definition at line 68 of file dstring.cpp.

69{
70 size_t slen = dstrlen(str);
71 size_t len = length();
72 if (slen>len) return DString::npos; // length of search string is longer than this string
73 if (index==DString::npos) index = len-slen; // start from end
74 else if (index>len) return DString::npos; // bad index
75 else if (index+slen>len) index = len-slen; // str would be too long
76 const char *pos = data()+index;
77 for (size_t i=index+1; i>0; )
78 {
79 --i;
80 if (dstrnicmp(pos--,str,slen)==0) return i;
81 }
82 return DString::npos;
83}

References data(), dstrlen(), dstrnicmp(), length(), npos, and str().

◆ right()

◆ setNum() [1/8]

DString & DString::setNum ( int n)
inline

Definition at line 564 of file dstring.h.

565 {
566 m_rep = std::to_string(n);
567 return *this;
568 }

References DString(), and m_rep.

◆ setNum() [2/8]

DString & DString::setNum ( long long n)
inline

Definition at line 582 of file dstring.h.

583 {
584 m_rep = std::to_string(n);
585 return *this;
586 }

References DString(), and m_rep.

◆ setNum() [3/8]

DString & DString::setNum ( long n)
inline

Definition at line 576 of file dstring.h.

577 {
578 m_rep = std::to_string(n);
579 return *this;
580 }

References DString(), and m_rep.

◆ setNum() [4/8]

◆ setNum() [5/8]

DString & DString::setNum ( uint16_t n)
inline

Definition at line 558 of file dstring.h.

559 {
560 m_rep = std::to_string(n);
561 return *this;
562 }

References DString(), and m_rep.

◆ setNum() [6/8]

DString & DString::setNum ( uint32_t n)
inline

Definition at line 570 of file dstring.h.

571 {
572 m_rep = std::to_string(n);
573 return *this;
574 }

References DString(), and m_rep.

◆ setNum() [7/8]

DString & DString::setNum ( unsigned long long n)
inline

Definition at line 588 of file dstring.h.

589 {
590 m_rep = std::to_string(n);
591 return *this;
592 }

References DString(), and m_rep.

◆ setNum() [8/8]

DString & DString::setNum ( unsigned long n)
inline

Definition at line 594 of file dstring.h.

595 {
596 m_rep = std::to_string(n);
597 return *this;
598 }

References DString(), and m_rep.

◆ shrink_to_fit()

void DString::shrink_to_fit ( )
inline

Definition at line 207 of file dstring.h.

207{ m_rep.shrink_to_fit(); }

References m_rep.

◆ simplifyWhiteSpace()

DString DString::simplifyWhiteSpace ( ) const

return a copy of this string with leading and trailing whitespace removed and multiple internal whitespace characters replaced by a single space

Definition at line 127 of file dstring.cpp.

128{
129 if ( empty() ) // nothing to do
130 return *this;
131
132 DString result( length(), ExplicitSize );
133 const char *from = data();
134 char *to = result.rawData();
135 char *first = to;
136 while ( true )
137 {
138 while ( *from && disspace(*from) )
139 from++;
140 while ( *from && !disspace(*from) )
141 *to++ = *from++;
142 if ( *from )
143 *to++ = 0x20; // ' '
144 else
145 break;
146 }
147 if ( to > first && *(to-1) == 0x20 )
148 to--;
149 *to = '\0';
150 result.resize( static_cast<int>(to - result.data()) );
151 return result;
152}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148

References data(), disspace(), DString(), empty(), ExplicitSize, length(), rawData(), and resize().

Referenced by DefinitionImpl::_docsAlreadyAdded(), addVariable(), VHDLOutlineParser::checkInlineCode(), Markdown::Private::processLink(), MemberDefImpl::setBitfields(), setClassScope(), substituteTemplateArgumentsInString(), MemberDefImpl::writeDeclaration(), MemberDefImpl::writeDocumentation(), FlowChart::writeFlowLinks(), and MemberDefImpl::writeMemberDocSimple().

◆ size()

◆ sprintf()

DString & DString::sprintf ( const char * format,
... )

Definition at line 34 of file dstring.cpp.

35{
36 va_list ap;
37 va_start( ap, format );
38 const size_t minlen=256;
39 size_t l = length();
40 if (l<minlen) { resize(minlen+1); l=minlen; }
41 int n=vsnprintf( rawData(), l+1, format, ap);
42 if (n<0) n=static_cast<int>(l);
43 resize(n);
44 va_end( ap );
45 return *this;
46}
void resize(size_t newlen)
Definition dstring.h:209
char * rawData()
Returns a writable pointer to the data.
Definition dstring.h:166

References DString(), length(), rawData(), and resize().

Referenced by addDependencies(), addFormula(), addIncludeFile(), addXRefItemToEntry(), RTFGenerator::beginRTFSection(), buildFileList(), DocParser::checkArgumentName(), clearSubDirs(), convertCppComments(), convertNameToFile(), FormulaManager::createLatexFile(), createSubDirs(), dateTimeFromString(), dateToRTFDateString(), DocFormula::DocFormula(), encodeForOutput(), escapeComment(), escapeName(), escapeObject(), escapeWord(), DocParser::findAndCopyImage(), generateClassMemberLink(), generateClassOrGlobalLink(), generateFormula(), DotGfxHierarchyTable::getBaseName(), getLinkInScope(), includeTagFileAttributes(), FormulaManager::initFromRepository(), initPredefined(), initWarningFormat(), PerlModDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), parseInput(), Preprocessor::processFile(), readIncludeFile(), replaceFunctionMacro(), runPlantumlContent(), saveObjCContext(), startCodeLine(), startCodeLine(), startCodeLine(), startCodeLine(), startCodeLine(), startCodeLine(), startCodeLine(), RTFGenerator::startCompoundTemplateParams(), RTFGenerator::startMemberDoc(), LayoutParser::startNavEntry(), RTFGenerator::startSection(), RTFGenerator::startTitleHead(), TranslatorArmenian::trDateTime(), TranslatorBrazilian::trDateTime(), TranslatorBulgarian::trDateTime(), TranslatorCatalan::trDateTime(), TranslatorChinese::trDateTime(), TranslatorChinesetraditional::trDateTime(), TranslatorCroatian::trDateTime(), TranslatorCzech::trDateTime(), TranslatorDanish::trDateTime(), TranslatorDutch::trDateTime(), TranslatorEnglish::trDateTime(), TranslatorEsperanto::trDateTime(), TranslatorFrench::trDateTime(), TranslatorGerman::trDateTime(), TranslatorGreek::trDateTime(), TranslatorHindi::trDateTime(), TranslatorHungarian::trDateTime(), TranslatorIndonesian::trDateTime(), TranslatorItalian::trDateTime(), TranslatorJapanese::trDateTime(), TranslatorKorean::trDateTime(), TranslatorLatvian::trDateTime(), TranslatorPersian::trDateTime(), TranslatorPolish::trDateTime(), TranslatorPortuguese::trDateTime(), TranslatorRomanian::trDateTime(), TranslatorRussian::trDateTime(), TranslatorSlovak::trDateTime(), TranslatorSpanish::trDateTime(), TranslatorSwedish::trDateTime(), TranslatorTurkish::trDateTime(), TranslatorUkrainian::trDateTime(), TranslatorJapanese::trWriteList(), DotNode::writeArrow(), DotNode::writeBox(), writeDiaGraphFromFile(), ClassDiagram::writeFigure(), writeJavaScriptSearchIndex(), DocbookCodeGenerator::writeLineNumber(), LatexCodeGenerator::writeLineNumber(), RTFCodeGenerator::writeLineNumber(), writeMscGraphFromFile(), Markdown::Private::writeOneLineHeaderOrRuler(), DocbookGenerator::writePageLink(), and DefinitionImpl::writeSourceDef().

◆ startsWith() [1/3]

bool DString::startsWith ( const char * s) const
inline

Definition at line 600 of file dstring.h.

601 {
602 if (m_rep.empty() || s==nullptr) return s==nullptr;
603 return m_rep.rfind(s,0)==0; // looking "backward" starting and ending at index 0
604 }

References m_rep.

Referenced by MemberDefImpl::_isAnonymousBitField(), MemberDefImpl::_writeEnumValues(), addMethodToClass(), addVariable(), DocHtmlCell::alignment(), associateVariableWithAnonymousEnumType(), buildFunctionList(), Config::checkAndCorrect(), computeMemberRelationsForBaseClass(), DotFilePatcher::convertMapFile(), copyStyleSheet(), MemberDefImpl::createTemplateInstanceMember(), extractClassNameFromType(), fillColorStyleMap(), filterMemberDocumentation(), DocParser::findAndCopyImage(), findClassRelation(), DocParser::findDocsForMemberOrCompound(), findMember(), findUsingDeclImports(), SymbolResolver::Private::followPath(), generateFunctionLink(), getCanonicalTypeForIdentifier(), DocParser::handleImage(), handleImage(), DocParser::handleLinkedWord(), ClassDefImpl::hideDerivedVariablesInPython(), CitationManager::insertCrossReferencesForBibFile(), SymbolResolver::Private::isAccessibleFrom(), DocFormula::isInline(), AnchorGenerator::looksGenerated(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), RTFDocVisitor::operator()(), SymbolModifiers::operator|=(), parseFuncDecl(), VhdlDocGen::prepareComment(), RTFGenerator::preProcessFileInplace(), Markdown::Private::processQuotations(), Portable::removeLongPathMarker(), replaceRef(), SymbolResolver::resolveClass(), resolveClassNestingRelations(), resolveRef(), resolveSymlink(), DotRunner::run(), startsWithKeyword(), stripTrailingReturn(), substituteHtmlKeywords(), substituteTemplateArgumentsInString(), substituteTemplatesInString(), LayoutNavEntry::url(), and HtmlGenerator::writeStyleInfo().

◆ startsWith() [2/3]

bool DString::startsWith ( const DString & s) const
inline

Definition at line 611 of file dstring.h.

612 {
613 if (m_rep.empty() || s.empty()) return s.empty();
614 return m_rep.rfind(s.str(),0)==0; // looking "backward" starting and ending at index 0
615 }

References DString(), empty(), m_rep, and str().

◆ startsWith() [3/3]

bool DString::startsWith ( const std::string & s) const
inline

Definition at line 606 of file dstring.h.

607 {
608 return m_rep.rfind(s,0)==0; // looking "backward" starting and ending at index 0
609 }

References m_rep.

◆ str()

const std::string & DString::str ( ) const
inline

Definition at line 645 of file dstring.h.

646 {
647 return m_rep;
648 }

References m_rep.

Referenced by DefinitionImpl::_setBriefDescription(), MemberDefImpl::_writeReimplementedBy(), DefinitionImpl::_writeSourceRefList(), SymbolResolver::Private::accessibleViaUsingNamespace(), LinkedMap< T, Hash, KeyEqual, Map >::add(), LinkedMap< T, Hash, KeyEqual, Map >::add(), LinkedRefMap< T, Hash, KeyEqual, Map >::add(), SymbolMap< T >::add(), ConstraintClassDef::addAccessor(), UsesClassDef::addAccessor(), VhdlDocGen::addBaseClass(), DotClassGraph::addClass(), Index::addClassMemberNameToIndex(), Crawlmap::addContentsItem(), addDefine(), CommentScanner::addDeprecatedDocs(), ModuleManager::addDocs(), ModuleDefImpl::addExportedModule(), Index::addFileMemberNameToIndex(), DotGfxHierarchyTable::addHierarchy(), HtmlHelp::addImageFile(), ModuleDefImpl::addImport(), ModuleManager::addImport(), FileDefImpl::addIncludedByDependency(), FileDefImpl::addIncludeDependency(), Crawlmap::addIndexFile(), HtmlHelp::addIndexFile(), Crawlmap::addIndexItem(), DocSets::addIndexItem(), HtmlHelpIndex::addItem(), addLocalVar(), Index::addModuleMemberNameToIndex(), Index::addNamespaceMemberNameToIndex(), ModuleDefImpl::addPartition(), VHDLOutlineParser::addProto(), Preprocessor::addSearchDir(), DefinitionImpl::addSourceReferencedBy(), DefinitionImpl::addSourceReferences(), HtmlHelp::addStyleSheetFile(), addUsingDirective(), addVariable(), addVariable(), VariableContext::addVariable(), addVariableToFile(), VHDLOutlineParser::addVhdlType(), SearchIndex::addWordRec(), FlowChart::alignCommentNode(), assign(), RTFGenerator::beginRTFSection(), DotCallGraph::buildGraph(), DotInclDepGraph::buildGraph(), buildListOfUsingDecls(), anonymous_namespace{tagreader.cpp}::TagFileParser::buildLists(), buildVarList(), Config::checkAndCorrect(), checkAndOpenFile(), DocParser::checkArgumentName(), VHDLOutlineParser::checkInlineCode(), DocParser::checkRetvalName(), DocParser::checkUnOrMultipleDocumentedParams(), checkVhdlString(), DocbookGenerator::cleanup(), HtmlGenerator::cleanup(), LatexGenerator::cleanup(), ManGenerator::cleanup(), RTFGenerator::cleanup(), clearSubDirs(), compare(), computeExpression(), computeTemplateClassRelations(), computeVerifiedDotPath(), contains(), containsEnvVar(), convertNameToFile(), copyFile(), copyIcon(), copyLogo(), copyStyleSheet(), DotManager::createFilePatcher(), FormulaManager::createFormulasTexFile(), VHDLOutlineParser::createFunction(), createJavaScriptSearchIndex(), FormulaManager::createLatexFile(), ModuleManager::createModuleDef(), Translator::createNoun(), createOutputDirectory(), createSubDirs(), createTagLessInstance(), dateTimeFromString(), LinkedMap< T, Hash, KeyEqual, Map >::del(), LinkedRefMap< T, Hash, KeyEqual, Map >::del(), deliverablesPresent(), determineAbsoluteIncludeName(), determineInkscapeVersion(), MemberDefImpl::displayDefinition(), DocEmoji::DocEmoji(), DotCallGraph::DotCallGraph(), DotClassGraph::DotClassGraph(), DotGroupCollaboration::DotGroupCollaboration(), DotInclDepGraph::DotInclDepGraph(), drawClusterOpening(), drawDirectory(), DString(), DString(), anonymous_namespace{tagreader.cpp}::TagFileParser::endElement(), LayoutParser::endElement(), anonymous_namespace{tagreader.cpp}::TagFileParser::endEnumValue(), endScope(), endsWith(), CondParser::evalVariable(), ExistsOnPath(), expandExpression(), externalRef(), DefinitionImpl::externalReference(), extractCanonicalType(), extractClassNameFromType(), extractDirection(), Markdown::extractPageTitle(), Markdown::Private::extractTitleId(), fileToString(), fillColorStyleMap(), filterMemberDocumentation(), filterTitle(), CitationManager::find(), find(), LinkedMap< T, Hash, KeyEqual, Map >::find(), LinkedRefMap< T, Hash, KeyEqual, Map >::find(), SectionRefs::find(), SymbolMap< T >::find(), find_first_not_of(), find_first_of(), find_last_not_of(), find_last_of(), DocParser::findAndCopyImage(), VhdlDocGen::findArchitecture(), findBaseClassesForClass(), findClassEntries(), findClassRelation(), findExampleFilePath(), FileNameLinkedMap::findFileDef(), VhdlDocGen::findKeyWord(), VhdlDocGen::findMemberDef(), findPackageScope(), findPackageScopeFromPath(), findTemplateInstanceRelation(), findUsedClassesForClass(), findUsingDeclImports(), VariableContext::findVariable(), fmt::formatter< DString >::format(), generateDEF(), generateFileSources(), generateFormula(), generateFunctionLink(), generateFunctionLink(), FormulaManager::generateImages(), generateOutput(), CitationManager::generatePage(), RequirementManager::generatePage(), generateXML(), ConfigImpl::get(), ResourceMgr::get(), DocVisitor::getCodeParser(), getConvertLatexMacro(), getDotImageExtensionGenerated(), Portable::getenv(), FilterCache::getFileContentsDisk(), FilterCache::getFileContentsPipe(), getFilteredImageAttributes(), getFilterFromList(), CitationManager::getFormulas(), getFortranDefs(), VhdlDocGen::getIndexWord(), getLanguageFromFileName(), getLinkInScope(), getMscImageMapFromFile(), ModuleManager::getPrimaryInterface(), getResolvedNamespace(), SymbolResolver::Private::getResolvedSymbolRec(), SymbolResolver::Private::getResolvedTypeRec(), RTFDocVisitor::getStyle(), EntryType::guessSection(), DocParser::handleCite(), DocPara::handleCommand(), DocPara::handleDoxyConfig(), handleFileInfoResult(), DocParser::handleImage(), DocParser::handleStyleArgument(), LayoutNavEntry::id(), DocbookGenerator::init(), HtmlGenerator::init(), LatexGenerator::init(), ManGenerator::init(), RTFGenerator::init(), FormulaManager::initFromRepository(), initPredefined(), initTracing(), initUCF(), initWarningFormat(), CitationManager::insert(), insert(), CitationManager::insertCrossReferencesForBibFile(), insertDimension(), insertMapFile(), ClassDefImpl::internalInsertMember(), SymbolResolver::Private::isAccessibleFromWithExpScope(), CommentScanner::isCommand(), isDefined(), isExplicitPage(), FileDefImpl::isIncluded(), isURL(), isVarWithConstructor(), javaExecutable(), keyWordsFortranC(), labelToEnumValue(), CitationManager::latexBibFiles(), loadExtensions(), Htags::loadFilemap(), loadStylesheet(), Mapper< T >::map(), markdownFileNameToId(), matchExcludedSymbols(), HtmlEntityMapper::name2sym(), SymbolResolver::Private::newResolveTypedef(), normalizeNonTemplateArgumentsInString(), openDbConnection(), Portable::openInputStream(), openOutputFile(), Portable::openOutputStream(), operator!=(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), std::hash< DString >::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), operator+(), operator+=(), operator<<(), TextStream::operator<<(), operator=(), operator==(), outputString(), CodeFragmentManager::parseCodeFragment(), parseCommentAsHtml(), parseCommentAsText(), parseConcepts(), parseFile(), VhdlDocGen::parseForBinding(), VhdlDocGen::parseForConfig(), MarkdownOutlineParser::parseInput(), parseInput(), parseMain(), VhdlDocGen::parseUCF(), Htags::path2URL(), VhdlDocGen::prepareComment(), LinkedMap< T, Hash, KeyEqual, Map >::prepend(), LinkedRefMap< T, Hash, KeyEqual, Map >::prepend(), preProcessFile(), RTFGenerator::preProcessFileInplace(), FlowChart::printNode(), processConcatOperators(), Markdown::Private::processLink(), processList(), readCodeFragment(), readConfiguration(), readFileOrDirectory(), readIncludeFile(), readIncludeFile(), readInputFile(), readTagFile(), readTextFileByName(), ParserManager::registerExtension(), ParserManager::registerParser(), SymbolMap< T >::remove(), removeAnonymousScopes(), replaceAnonymousScopes(), replaceColorMarkers(), replaceFunctionMacro(), replaceNamespaceAliasesRec(), replaceVariables(), resetPDFSize(), resolveDirLink(), resolveModuleProcedures(), resolveSymlink(), resolveTemplateInstanceInType(), resolveTypeBoundProcedures(), rfind(), rfind_insensitive(), RTFGenerator::rtf_BList_DepthStyle(), RTFGenerator::rtf_CList_DepthStyle(), RTFCodeGenerator::rtf_Code_DepthStyle(), RTFGenerator::rtf_DList_DepthStyle(), RTFGenerator::rtf_EList_DepthStyle(), RTFGenerator::rtf_LCList_DepthStyle(), rtfFormatBmkStr(), DotFilePatcher::run(), DotRunner::run(), runMermaid(), runPlantumlContent(), SearchIndex::setCurrentDoc(), SearchIndexExternal::setCurrentDoc(), Portable::setenv(), setFileName(), StyleData::setStyle(), FileNameLinkedMap::showFileDefMatches(), FilterCache::shrinkBuffer(), simplifyTypeForTable(), splitSearchTokens(), RTFGenerator::startCompoundTemplateParams(), ManGenerator::startDoxyAnchor(), anonymous_namespace{tagreader.cpp}::TagFileParser::startElement(), LayoutParser::startElement(), RTFCodeGenerator::startFontClass(), RTFGenerator::startMemberDoc(), RTFGenerator::startSection(), startsWith(), RTFGenerator::startTitleHead(), StyleData::StyleData(), substEnvVarsInString(), substEnvVarsInStrList(), substitute(), substituteHtmlKeywords(), substituteLatexKeywords(), substituteTemplateArgumentsInString(), substituteTemplatesInArgList(), substituteTemplatesInString(), SymbolResolver::Private::substTypedef(), toStdString(), transcodeCharacterStringToUTF8(), transferStaticInstanceInitializers(), tryPath(), Portable::unsetenv(), updateLanguageMapping(), DotAttributes::updateValue(), writeAlphabeticalClassList(), Markdown::Private::writeBlockQuote(), MemberDefImpl::writeDeclaration(), writeDiaGraphFromFile(), DefinitionImpl::writeDocAnchorsToTagFile(), MemberDefImpl::writeDocumentation(), MemberList::writeDocumentationPage(), writeDotDirDepGraph(), writeDotGraphFromFile(), writeDotImageMapFromFile(), FlowChart::writeEdge(), writeExamples(), ClassDiagram::writeFigure(), writeFileIndex(), VhdlDocGen::writeFormatString(), writeFuncProto(), DotGfxHierarchyTable::writeGraph(), DotGraph::writeGraph(), ClassDefImpl::writeInheritanceGraph(), VhdlDocGen::writeInlineClassLink(), writeInlineGraph(), DotNode::writeLabel(), HtmlGenerator::writeLabel(), TextGeneratorSqlite3Impl::writeLink(), MemberDefImpl::writeMemberDocSimple(), ClassDefImpl::writeMemberList(), VhdlDocGen::writePlainVHDLDeclarations(), PlantumlManager::writePlantUMLSource(), VhdlDocGen::writeRecUnitDocu(), DefinitionImpl::writeRequirementRefs(), FlowChart::writeShape(), HtmlGenerator::writeStyleInfo(), and writeWord().

◆ stripLeadingAndTrailingEmptyLines()

DString DString::stripLeadingAndTrailingEmptyLines ( ) const

Definition at line 581 of file dstring.cpp.

582{
583 if (empty()) return DString();
584 const std::string &s = m_rep;
585 int end=static_cast<int>(s.length());
586 int start=0,p=0;
587 // skip leading empty lines
588 for (;;)
589 {
590 int c;
591 while ((c=s[p]) && (c==' ' || c=='\t')) p++;
592 if (s[p]=='\n')
593 {
594 start=++p;
595 }
596 else
597 {
598 break;
599 }
600 }
601 // skip trailing empty lines
602 p=end-1;
603 if (p>=start && s.at(p)=='\n') p--;
604 while (p>=start)
605 {
606 int c;
607 while ((c=s[p]) && (c==' ' || c=='\t')) p--;
608 if (s[p]=='\n')
609 {
610 end=p+1;
611 }
612 else
613 {
614 break;
615 }
616 p--;
617 }
618 //printf("stripLeadingAndTrailingEmptyLines(%d-%d)\n",start,end);
619 return s.substr(start,end-start);
620}

References DString(), empty(), end(), and m_rep.

◆ stripPrefix() [1/2]

bool DString::stripPrefix ( const char * prefix)
inline

Definition at line 301 of file dstring.h.

302 {
303 return stripPrefix(DString(prefix));
304 }
constexpr auto prefix
Definition anchor.cpp:47
bool stripPrefix(const DString &prefix)
Definition dstring.h:290

References DString(), prefix, and stripPrefix().

◆ stripPrefix() [2/2]

bool DString::stripPrefix ( const DString & prefix)
inline

◆ stripWhiteSpace()

DString DString::stripWhiteSpace ( ) const
inline

returns a copy of this string with leading and trailing whitespace removed

Definition at line 337 of file dstring.h.

338 {
339 size_t sl = m_rep.size();
340 if (sl==0 || (!disspace(m_rep[0]) && !disspace(m_rep[sl-1]))) return *this;
341 size_t start=0,end=sl-1;
342 while (start<sl && disspace(m_rep[start])) start++;
343 if (start==sl) return DString(); // only whitespace
344 while (end>start && disspace(m_rep[end])) end--;
345 return DString(m_rep.substr(start,1+end-start));
346 }

References disspace(), DString(), end(), and m_rep.

Referenced by DefinitionImpl::_setBriefDescription(), MemberDefImpl::_writeEnumValues(), abbreviate(), FileDefImpl::acquireFileVersion(), addDefine(), DocGroup::addDocs(), addFormula(), addIncludeFile(), addKnRArgInfo(), addMacroDefinition(), addPerlModDocBlock(), addRelatedPage(), addSeparatorsIfNeeded(), addSubprogram(), ClassDefImpl::addTypeConstraints(), addVariable(), adjustConfiguration(), appStringLower(), buildPageList(), Config::checkAndCorrect(), DocParser::checkArgumentName(), checkFileName(), checkList(), DocParser::checkUnOrMultipleDocumentedParams(), compareString(), convertCppComments(), DotNode::convertLabel(), convertStringToBool(), ConfigBool::convertStrToVal(), ConfigEnum::convertStrToVal(), convertToComment(), determineBlockName(), anonymous_namespace{tagreader.cpp}::TagFileParser::endEnumValue(), expandExpression(), extractBind(), extractCanonicalArgType(), extractCanonicalType(), extractFromParens(), extractNoExcept(), fillColorStyleMap(), findMainPage(), findMember(), VhdlDocGen::formatString(), generateFunctionLink(), generateFunctionLink(), CitationManager::generatePage(), generateSqlite3ForMember(), generateXMLForMember(), getCanonicalTemplateSpec(), getFilteredImageAttributes(), DocPara::handleCommand(), handleFileInfoResult(), VHDLOutlineParser::handleFlowComment(), handleGuard(), DocParser::handleImage(), handleImage(), DocPara::handleInclude(), handleInheritanceGraph(), DocPara::handleShowDate(), handleToc(), initUCF(), inlineTemplateArgListToDoc(), CitationManager::insertCrossReferencesForBibFile(), isCastKeyword(), ConfigList::isDefault(), ConfigString::isDefault(), ClassDefImpl::isExtension(), isURL(), Htags::loadFilemap(), mergeArguments(), DocGroup::open(), DocIndexEntry::parse(), parseCommentAsText(), VhdlDocGen::parseFuncProto(), MarkdownOutlineParser::parseInput(), VhdlDocGen::parseUCF(), VhdlDocGen::prepareComment(), FlowChart::printNode(), FlowChart::printPlantUmlNode(), Markdown::Private::processLink(), processList(), processStoreRepl(), processString(), projectLogoSize(), readIncludeFile(), readIncludeFile(), readTagFile(), replaceFunctionMacro(), SymbolResolver::resolveClass(), splitKnRArg(), startOfRequiresExpression(), stripComment(), stripIrrelevantString(), stripTrailingReturn(), subrHandleCommentBlock(), subrHandleCommentBlockResult(), substEnvVarsInString(), substituteTemplateArgumentsInString(), Portable::system(), LayoutNavEntry::url(), MemberList::writeDeclarations(), writeExceptionList(), HtmlGenerator::writeExternalSearchPage(), VhdlDocGen::writeFunctionProto(), HtmlGenerator::writeLabel(), writeObjCMethodCall(), VhdlDocGen::writeVHDLTypeDocumentation(), and writeXMLDocBlock().

◆ substr()

◆ swap()

void DString::swap ( DString & other)
inline

Swaps the contents of this string with other.

Definition at line 220 of file dstring.h.

220{ m_rep.swap(other.m_rep); }

References DString(), and m_rep.

Referenced by swap().

◆ toInt()

int DString::toInt ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 191 of file dstring.cpp.

192{
193 return static_cast<int>(toLong( ok, base ));
194}
long toLong(bool *ok=nullptr, int base=10) const
Definition dstring.cpp:202

References toLong().

Referenced by VhdlDocGen::addBaseClass(), ConfigInt::convertStrToVal(), insertDimension(), runQHelpGenerator(), TranslatorSlovak::trAndMore(), and writeObjCMethodCall().

◆ toLong()

long DString::toLong ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 202 of file dstring.cpp.

203{
204 const char *p = data();
205 long val=0;
206 int l = static_cast<int>(length());
207 const long max_mult = INT_MAX / base;
208 bool is_ok = false;
209 int neg = 0;
210 if ( !p )
211 goto bye;
212 while ( l && disspace(*p) ) // skip leading space
213 {
214 l--;
215 p++;
216 }
217 if ( l && *p == '-' )
218 {
219 l--;
220 p++;
221 neg = 1;
222 } else if ( *p == '+' )
223 {
224 l--;
225 p++;
226 }
227
228 // NOTE: toULong() code is similar
229 if ( !l || !ok_in_base(*p,base) )
230 {
231 goto bye;
232 }
233 while ( l && ok_in_base(*p,base) )
234 {
235 l--;
236 int dv = 0;
237 if ( *p>='0' && *p<='9' )
238 {
239 dv = *p-'0';
240 }
241 else
242 {
243 if ( *p >= 'a' && *p <= 'z' )
244 {
245 dv = *p - 'a' + 10;
246 }
247 else
248 {
249 dv = *p - 'A' + 10;
250 }
251 }
252 if ( val > max_mult || (val == max_mult && dv > (INT_MAX%base)+neg) )
253 {
254 goto bye;
255 }
256 val = base*val + dv;
257 p++;
258 }
259 if ( neg )
260 {
261 val = -val;
262 }
263 while ( l && disspace(*p) ) // skip trailing space
264 {
265 l--;
266 p++;
267 }
268 if ( !l )
269 {
270 is_ok = true;
271 }
272bye:
273 if ( ok )
274 {
275 *ok = is_ok;
276 }
277 return is_ok ? val : 0;
278}
static bool ok_in_base(char c, int base)
Definition dstring.cpp:161

References data(), disspace(), length(), and ok_in_base().

Referenced by toInt(), and toShort().

◆ toShort()

short DString::toShort ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 171 of file dstring.cpp.

172{
173 long v = toLong( ok, base );
174 if ( ok && *ok && (v < -32768 || v > 32767) ) {
175 *ok = false;
176 v = 0;
177 }
178 return static_cast<short>(v);
179}

References toLong().

◆ toUInt()

uint32_t DString::toUInt ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 196 of file dstring.cpp.

197{
198 return static_cast<uint32_t>(toULong( ok, base ));
199}
unsigned long toULong(bool *ok=nullptr, int base=10) const
Definition dstring.cpp:280

References toULong().

◆ toUInt64()

uint64_t DString::toUInt64 ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 351 of file dstring.cpp.

352{
353 const char *p = data();
354 uint64_t val=0;
355 int l = static_cast<int>(length());
356 const uint64_t max_mult = 1844674407370955161ULL; // ULLONG_MAX/10, rounded down
357 bool is_ok = false;
358 if ( !p )
359 {
360 goto bye;
361 }
362 while ( l && disspace(*p) ) // skip leading space
363 {
364 l--;
365 p++;
366 }
367 if ( *p == '+' )
368 {
369 l--;
370 p++;
371 }
372
373 // NOTE: toULong() code is similar
374 if ( !l || !ok_in_base(*p,base) )
375 {
376 goto bye;
377 }
378 while ( l && ok_in_base(*p,base) )
379 {
380 l--;
381 uint32_t dv = 0;
382 if ( *p>='0' && *p<='9' )
383 {
384 dv = *p-'0';
385 }
386 else
387 {
388 if ( *p >= 'a' && *p <= 'z' )
389 {
390 dv = *p - 'a' + 10;
391 }
392 else
393 {
394 dv = *p - 'A' + 10;
395 }
396 }
397 if ( val > max_mult || (val == max_mult && dv > (ULLONG_MAX%base)) )
398 {
399 goto bye;
400 }
401 val = base*val + dv;
402 p++;
403 }
404
405 while ( l && disspace(*p) ) // skip trailing space
406 {
407 l--;
408 p++;
409 }
410 if ( !l )
411 {
412 is_ok = true;
413 }
414bye:
415 if ( ok )
416 {
417 *ok = is_ok;
418 }
419 return is_ok ? val : 0;
420}

References data(), disspace(), length(), and ok_in_base().

Referenced by getCurrentDateTime().

◆ toULong()

unsigned long DString::toULong ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 280 of file dstring.cpp.

281{
282 const char *p = data();
283 unsigned long val=0;
284 int l = static_cast<int>(length());
285 const unsigned long max_mult = 429496729; // UINT_MAX/10, rounded down
286 bool is_ok = false;
287 if ( !p )
288 {
289 goto bye;
290 }
291 while ( l && disspace(*p) ) // skip leading space
292 {
293 l--;
294 p++;
295 }
296 if ( *p == '+' )
297 {
298 l--;
299 p++;
300 }
301
302 // NOTE: toLong() code is similar
303 if ( !l || !ok_in_base(*p,base) )
304 {
305 goto bye;
306 }
307 while ( l && ok_in_base(*p,base) )
308 {
309 l--;
310 uint32_t dv = 0;
311 if ( *p>='0' && *p<='9' )
312 {
313 dv = *p-'0';
314 }
315 else
316 {
317 if ( *p >= 'a' && *p <= 'z' )
318 {
319 dv = *p - 'a' + 10;
320 }
321 else
322 {
323 dv = *p - 'A' + 10;
324 }
325 }
326 if ( val > max_mult || (val == max_mult && dv > (UINT_MAX%base)) )
327 {
328 goto bye;
329 }
330 val = base*val + dv;
331 p++;
332 }
333
334 while ( l && disspace(*p) ) // skip trailing space
335 {
336 l--;
337 p++;
338 }
339 if ( !l )
340 {
341 is_ok = true;
342 }
343bye:
344 if ( ok )
345 {
346 *ok = is_ok;
347 }
348 return is_ok ? val : 0;
349}

References data(), disspace(), length(), and ok_in_base().

Referenced by toUInt(), and toUShort().

◆ toUShort()

uint16_t DString::toUShort ( bool * ok = nullptr,
int base = 10 ) const

Definition at line 181 of file dstring.cpp.

182{
183 unsigned long v = toULong( ok, base );
184 if ( ok && *ok && (v > 65535) ) {
185 *ok = false;
186 v = 0;
187 }
188 return static_cast<uint16_t>(v);
189}

References toULong().

◆ upper()

DString DString::upper ( ) const
inline

Definition at line 331 of file dstring.h.

332 {
334 }
std::string convertUTF8ToUpper(const std::string &input)
Converts the input string into a upper case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:196

References convertUTF8ToUpper(), DString(), and m_rep.

Referenced by VhdlDocGen::findMember(), integerToAlpha(), integerToRoman(), TranslatorAfrikaans::trDayOfWeek(), TranslatorBrazilian::trDayOfWeek(), TranslatorCatalan::trDayOfWeek(), TranslatorCzech::trDayOfWeek(), TranslatorDanish::trDayOfWeek(), TranslatorDutch::trDayOfWeek(), TranslatorEsperanto::trDayOfWeek(), TranslatorFinnish::trDayOfWeek(), TranslatorFrench::trDayOfWeek(), TranslatorHungarian::trDayOfWeek(), TranslatorItalian::trDayOfWeek(), TranslatorLatvian::trDayOfWeek(), TranslatorLithuanian::trDayOfWeek(), TranslatorNorwegian::trDayOfWeek(), TranslatorPolish::trDayOfWeek(), TranslatorPortuguese::trDayOfWeek(), TranslatorRomanian::trDayOfWeek(), TranslatorSerbian::trDayOfWeek(), TranslatorSlovak::trDayOfWeek(), TranslatorSlovene::trDayOfWeek(), TranslatorSpanish::trDayOfWeek(), TranslatorSwedish::trDayOfWeek(), TranslatorAfrikaans::trMonth(), TranslatorBrazilian::trMonth(), TranslatorCatalan::trMonth(), TranslatorCzech::trMonth(), TranslatorDanish::trMonth(), TranslatorDutch::trMonth(), TranslatorEsperanto::trMonth(), TranslatorFinnish::trMonth(), TranslatorFrench::trMonth(), TranslatorHungarian::trMonth(), TranslatorItalian::trMonth(), TranslatorLatvian::trMonth(), TranslatorLithuanian::trMonth(), TranslatorNorwegian::trMonth(), TranslatorPolish::trMonth(), TranslatorPortuguese::trMonth(), TranslatorRomanian::trMonth(), TranslatorSerbian::trMonth(), TranslatorSlovak::trMonth(), TranslatorSlovene::trMonth(), TranslatorSpanish::trMonth(), and TranslatorSwedish::trMonth().

◆ view()

Member Data Documentation

◆ m_rep

◆ npos

size_t DString::npos = std::string::npos
staticconstexpr

value used to indicate 'not found' or 'to the end of the string', matching std::string::npos

Definition at line 178 of file dstring.h.

Referenced by MemberDefImpl::_computeIsConstructor(), MemberDefImpl::_computeIsDestructor(), DefinitionImpl::_docsAlreadyAdded(), MemberDefImpl::_writeCategoryRelation(), MemberDefImpl::_writeReimplements(), abbreviate(), VhdlDocGen::addBaseClass(), addClassToContext(), VHDLOutlineParser::addCompInst(), addConceptToContext(), ModuleManager::addDocs(), addEnumValuesToEnums(), addHtmlExtensionIfMissing(), addMacroDefinition(), addMemberFunction(), addMethodToClass(), addModule(), addSubprogram(), addTemplateNames(), TooltipManager::addTooltip(), ClassDefImpl::addTypeConstraints(), addVariable(), addVariable(), addVariableToFile(), adjustConfiguration(), alignText(), argListToString(), associateVariableWithAnonymousEnumType(), buildDictionaryList(), buildDirectories(), buildFileList(), buildFunctionList(), buildScopeFromQualifiedName(), buildSequenceList(), buildTypedefList(), buildVarList(), Config::checkAndCorrect(), VHDLOutlineParser::checkInlineCode(), checkList(), combineArgsAndException(), computeClassRelations(), computeCommonDirPrefix(), convertFileId2Var(), VhdlDocGen::convertFileNameToClassName(), DotFilePatcher::convertMapFile(), VhdlDocGen::correctMemberProperties(), MemberList::countEnumValues(), createDVIFile(), createTagLessInstance(), VhdlDocGen::deleteAllChars(), VhdlDocGen::deleteCharRev(), determineBlockName(), DirDefImpl::DirDefImpl(), MemberDefImpl::displayDefinition(), DocInternalRef::DocInternalRef(), DocRef::DocRef(), LayoutParser::endMemberDecl(), LayoutParser::endMemberDef(), endScope(), DocGroup::enterCompound(), erase(), ExistsOnPath(), expandVAOpt(), DocInclude::extension(), extractBeginRawStringDelimiter(), extractBlock(), extractBoundingBox(), extractClassName(), extractFromParens(), extractLanguageSpecificTitle(), extractNamespaceName(), extractNoExcept(), extractPartAfterNewLine(), fillColorStyleMap(), filterMemberDocumentation(), find(), find_first_not_of(), find_first_of(), find_last_not_of(), find_last_not_of(), find_last_not_of(), find_last_not_of(), find_last_of(), find_last_of(), find_last_of(), find_last_of(), VhdlDocGen::findAllArchitectures(), DocParser::findAndCopyImage(), findClassRelation(), findDirDocumentation(), DocParser::findDocsForMemberOrCompound(), findEnumDocumentation(), findEnums(), FileNameLinkedMap::findFileDef(), findGlobalMember(), findMember(), findPackageScopeFromPath(), findParameterList(), findTagLessClasses(), findUsingDeclImports(), findUsingDirectives(), generateClassOrGlobalLink(), generateClassOrGlobalLink(), generateDEFForClass(), generateFunctionLink(), generateFunctionLink(), generateMemberLink(), MermaidManager::generateMermaidOutput(), CitationManager::generatePage(), PlantumlManager::generatePlantUmlFileNames(), PlantumlManager::generatePlantUMLOutput(), generateXML(), generateXMLForMember(), getBaseNameOfOutput(), getCanonicalTypeForIdentifier(), getDotImageExtension(), getFileNameExtension(), getFilteredImageAttributes(), getFilterFromList(), getParserForFile(), SymbolResolver::Private::getResolvedSymbolRec(), getScopeDefs(), getTemplateArgumentsFromName(), EntryType::guessSection(), DocPara::handleCommand(), VHDLOutlineParser::handleCommentBlock(), DocParser::handleParameterType(), handleToc(), CitationManager::insertCrossReferencesForBibFile(), insertTemplateSpecifierInScope(), ClassDefImpl::internalInsertMember(), isCastKeyword(), FileDefImpl::isDocumentationFile(), MemberDefImpl::isDocumentedFriendClass(), ClassDefImpl::isExtension(), MemberDefImpl::isFunctionPtr(), NamespaceDefImpl::isLinkableInProject(), isRecursiveBaseClass(), DocImage::isSVG(), isURL(), isVarWithConstructor(), lineBlock(), linkifyText(), linkToText(), Htags::loadFilemap(), makeDisplayName(), makeQualifiedNameWithTemplateParameters(), makeTemplateInstanceRelation(), mangleCSharpGenericName(), markdownFileNameToId(), matchCanonicalTypes(), matchExcludedSymbols(), mergeArguments(), mergeCategories(), DirDefImpl::mergeDirectoryInTree(), ClassDefImpl::mergeMembersFromBaseClasses(), mergeScopes(), mid(), nameIsOperator(), SymbolResolver::Private::newResolveTypedef(), normalizeNonTemplateArgumentsInString(), VHDLOutlineParser::oneLineComment(), SymbolModifiers::operator|=(), DocIncOperator::parse(), DocLink::parse(), DocParamList::parse(), parseCompounds(), parseFile(), VhdlDocGen::parseForBinding(), VhdlDocGen::parseForConfig(), parseFuncDecl(), VhdlDocGen::parseFuncProto(), parseMain(), VhdlDocGen::parseUCF(), VHDLOutlineParser::popLabel(), Markdown::Private::processLink(), processTagLessClasses(), projectLogoFile(), projectLogoSize(), readCodeFragment(), readTagFile(), relativePathToRoot(), CitationManager::replaceFormulas(), replaceRef(), replaceVariables(), SymbolResolver::resolveClass(), resolveModuleProcedures(), resolveRef(), resolveSymlink(), resolveTemplateInstanceInType(), resolveTypeDef(), rfind(), rfind(), rfind(), rfind(), rfind_insensitive(), rfind_insensitive(), DotFilePatcher::run(), searchTemplateSpecs(), MemberList::setAnonymousEnumType(), setCallContextForVar(), setClassScope(), setJavaProtection(), DefinitionImpl::setName(), setParameterList(), StyleData::setStyle(), FileNameLinkedMap::showFileDefMatches(), splitSearchTokens(), splitString(), ManGenerator::startDoxyAnchor(), LatexDocVisitor::startMermaidFile(), LatexDocVisitor::startPlantUmlFile(), stripDeclKeywords(), stripIrrelevantString(), stripKeyword(), stripPath(), stripTemplateSpecifiersFromScope(), substEnvVarsInStrList(), substituteTemplateArgumentsInString(), substr(), Portable::system(), tempArgListToString(), trimBaseClassScope(), Portable::unsetenv(), NamespaceDefImpl::updateLocalName(), version(), MemberDefImpl::warnIfUndocumented(), MemberDefImpl::warnIfUndocumentedParams(), DotNode::writeDEF(), writeDefArgumentList(), FileDefImpl::writeDetailedDescription(), DotNode::writeDocbook(), MemberDefImpl::writeDocumentation(), MemberDefImpl::writeEnumDeclaration(), writeExceptionList(), writeExceptionListImpl(), HtmlGenerator::writeExternalSearchPage(), HtmlHelpIndex::writeFields(), VhdlDocGen::writeFormatString(), writeGroupTreeNode(), DotNode::writeLabel(), LatexDocVisitor::writeMermaidFile(), MermaidManager::writeMermaidSource(), writeMscGraphFromFile(), writeObjCMethodCall(), LatexDocVisitor::writePlantUMLFile(), PlantumlManager::writePlantUMLSource(), VhdlDocGen::writeRecordUnit(), FlowChart::writeShape(), VhdlDocGen::writeSource(), DefinitionImpl::writeSourceDef(), DotNode::writeUrl(), and DotNode::writeXML().


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