Skip to main content

The OutputCodeList Class Reference

Class representing a list of different code generators. More...

Declaration

class OutputCodeList { ... }

Included Headers

#include <src/outputlist.h>

Public Member Typedefs Index

usingOutputCodeIntfPtr = std::unique_ptr< OutputCodeIntf >

Public Member Functions Index

intid () const
voidsetId (int id)
voidadd (OutputCodeIntfPtr &&p)
template <class T, class... As>
T *add (As &&... args)

Add a code generator to the list, using a syntax similar to std::make_unique<T>() More...

template <class T>
T *get (OutputType o)

Returns a pointer to a specific generator in the list. More...

voidsetEnabledFiltered (OutputType o, bool enabled)

Enable or disable a specific generator. More...

voidclear ()
voidcodify (const QCString &s)
voidstripCodeComments (bool b)
voidstartSpecialComment ()
voidendSpecialComment ()
voidsetStripIndentAmount (size_t amount)
voidwriteCodeLink (CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip)
voidwriteLineNumber (const QCString &ref, const QCString &file, const QCString &anchor, int lineNumber, bool writeLineAnchor)
voidwriteTooltip (const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
voidstartCodeLine (int lineNr)
voidendCodeLine ()
voidstartFontClass (const QCString &c)
voidendFontClass ()
voidwriteCodeAnchor (const QCString &name)
voidstartCodeFragment (const QCString &style)
voidendCodeFragment (const QCString &style)
voidstartFold (int lineNr, const QCString &startMarker, const QCString &endMarker)
voidendFold ()

Private Member Functions Index

template <class... Ts, class... As>
voidforeach (void(OutputCodeIntf::*methodPtr)(Ts...), As &&... args)

Private Member Attributes Index

std::vector< OutputCodeElem >m_outputCodeList
intm_id = -1

Description

Class representing a list of different code generators.

It offers the same interface as the specific code generators, and will forward each method to all generators that are enabled.

Definition at line 163 of file outputlist.h.

Public Member Typedefs

OutputCodeIntfPtr

using OutputCodeList::OutputCodeIntfPtr = std::unique_ptr<OutputCodeIntf>

Definition at line 166 of file outputlist.h.

166 using OutputCodeIntfPtr = std::unique_ptr<OutputCodeIntf>;

Public Member Functions

add()

add()

template <class T, class... As>
T * OutputCodeList::add (As &&... args)
inline

Add a code generator to the list, using a syntax similar to std::make_unique<T>()

Definition at line 201 of file outputlist.h.

201 T* add(As&&... args)
202 {
203 add(std::make_unique<T>(std::forward<As>(args)...));
204 return static_cast<T*>(m_outputCodeList.back().intf.get());
205 }

References add and m_outputCodeList.

clear()

void OutputCodeList::clear ()
inline

Definition at line 227 of file outputlist.h.

227 void clear()
228 {
229 m_outputCodeList.clear();
230 }

Reference m_outputCodeList.

codify()

void OutputCodeList::codify (const QCString & s)
inline

Definition at line 234 of file outputlist.h.

234 void codify(const QCString &s)
235 { foreach(&OutputCodeIntf::codify,s); }

Reference OutputCodeIntf::codify.

Referenced by FileCodeParser::parseCode.

endCodeFragment()

void OutputCodeList::endCodeFragment (const QCString & style)
inline

Definition at line 281 of file outputlist.h.

281 void endCodeFragment(const QCString &style)
282 { foreach(&OutputCodeIntf::endCodeFragment,style); }

Reference OutputCodeIntf::endCodeFragment.

Referenced by writeXMLCodeBlock.

endCodeLine()

void OutputCodeList::endCodeLine ()
inline

Definition at line 266 of file outputlist.h.

267 { foreach(&OutputCodeIntf::endCodeLine); }

Reference OutputCodeIntf::endCodeLine.

Referenced by FileCodeParser::parseCode and OutputCodeRecorder::replay.

endFold()

void OutputCodeList::endFold ()
inline

Definition at line 287 of file outputlist.h.

287 void endFold()
288 { foreach(&OutputCodeIntf::endFold); }

Reference OutputCodeIntf::endFold.

endFontClass()

void OutputCodeList::endFontClass ()
inline

Definition at line 272 of file outputlist.h.

273 { foreach(&OutputCodeIntf::endFontClass); }

Reference OutputCodeIntf::endFontClass.

endSpecialComment()

void OutputCodeList::endSpecialComment ()
inline

Definition at line 243 of file outputlist.h.

Reference OutputCodeIntf::endSpecialComment.

Referenced by OutputCodeRecorder::replay.

get()

template <class T>
T * OutputCodeList::get (OutputType o)
inline

Returns a pointer to a specific generator in the list.

Definition at line 209 of file outputlist.h.

210 {
211 for (auto &e : m_outputCodeList)
212 {
213 if (e.intf->type()==o) { return static_cast<T*>(e.intf.get()); }
214 }
215 return nullptr;
216 }

Reference m_outputCodeList.

id()

int OutputCodeList::id ()
inline

Definition at line 191 of file outputlist.h.

191 int id() const { return m_id; }

Reference m_id.

Referenced by setId and TooltipManager::writeTooltips.

setEnabledFiltered()

void OutputCodeList::setEnabledFiltered (OutputType o, bool enabled)
inline

Enable or disable a specific generator.

Definition at line 219 of file outputlist.h.

219 void setEnabledFiltered(OutputType o,bool enabled)
220 {
221 for (auto &e : m_outputCodeList)
222 {
223 if (e.intf->type()==o) e.enabled = enabled;
224 }
225 }

Reference m_outputCodeList.

setId()

void OutputCodeList::setId (int id)
inline

Definition at line 192 of file outputlist.h.

192 void setId(int id) { m_id = id; }

References id and m_id.

setStripIndentAmount()

void OutputCodeList::setStripIndentAmount (size_t amount)
inline

Definition at line 246 of file outputlist.h.

246 void setStripIndentAmount(size_t amount)
247 { foreach(&OutputCodeIntf::setStripIndentAmount,amount); }

Reference OutputCodeIntf::setStripIndentAmount.

Referenced by OutputCodeRecorder::replay.

startCodeFragment()

startCodeLine()

void OutputCodeList::startCodeLine (int lineNr)
inline

Definition at line 263 of file outputlist.h.

263 void startCodeLine(int lineNr)
264 { foreach(&OutputCodeIntf::startCodeLine,lineNr); }

Reference OutputCodeIntf::startCodeLine.

Referenced by FileCodeParser::parseCode.

startFold()

void OutputCodeList::startFold (int lineNr, const QCString & startMarker, const QCString & endMarker)
inline

Definition at line 284 of file outputlist.h.

284 void startFold(int lineNr, const QCString &startMarker, const QCString &endMarker)
285 { foreach(&OutputCodeIntf::startFold,lineNr,startMarker,endMarker); }

Reference OutputCodeIntf::startFold.

startFontClass()

void OutputCodeList::startFontClass (const QCString & c)
inline

Definition at line 269 of file outputlist.h.

269 void startFontClass(const QCString &c)
270 { foreach(&OutputCodeIntf::startFontClass,c); }

Reference OutputCodeIntf::startFontClass.

Referenced by startFonts.

startSpecialComment()

void OutputCodeList::startSpecialComment ()
inline

Definition at line 240 of file outputlist.h.

Reference OutputCodeIntf::startSpecialComment.

Referenced by OutputCodeRecorder::replay.

stripCodeComments()

void OutputCodeList::stripCodeComments (bool b)
inline

writeCodeAnchor()

void OutputCodeList::writeCodeAnchor (const QCString & name)
inline

Definition at line 275 of file outputlist.h.

275 void writeCodeAnchor(const QCString &name)
276 { foreach(&OutputCodeIntf::writeCodeAnchor,name); }

Reference OutputCodeIntf::writeCodeAnchor.

Referenced by generateClassMemberLink, generateClassOrGlobalLink and getLinkInScope.

writeCodeLink()

void OutputCodeList::writeCodeLink (CodeSymbolType type, const QCString & ref, const QCString & file, const QCString & anchor, const QCString & name, const QCString & tooltip)
inline

Definition at line 249 of file outputlist.h.

250 const QCString &ref,const QCString &file,
251 const QCString &anchor,const QCString &name,
252 const QCString &tooltip)
253 { foreach(&OutputCodeIntf::writeCodeLink,type,ref,file,anchor,name,tooltip); }

Reference OutputCodeIntf::writeCodeLink.

Referenced by writeMultiLineCodeLink, writeMultiLineCodeLink, writeMultiLineCodeLink and writeMultiLineCodeLink.

writeLineNumber()

void OutputCodeList::writeLineNumber (const QCString & ref, const QCString & file, const QCString & anchor, int lineNumber, bool writeLineAnchor)
inline

Definition at line 255 of file outputlist.h.

255 void writeLineNumber(const QCString &ref,const QCString &file,const QCString &anchor,
256 int lineNumber, bool writeLineAnchor)
257 { foreach(&OutputCodeIntf::writeLineNumber,ref,file,anchor,lineNumber,writeLineAnchor); }

Reference OutputCodeIntf::writeLineNumber.

Referenced by FileCodeParser::parseCode.

writeTooltip()

void OutputCodeList::writeTooltip (const QCString & id, const DocLinkInfo & docInfo, const QCString & decl, const QCString & desc, const SourceLinkInfo & defInfo, const SourceLinkInfo & declInfo)
inline

Definition at line 259 of file outputlist.h.

259 void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl,
260 const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
261 { foreach(&OutputCodeIntf::writeTooltip,id,docInfo,decl,desc,defInfo,declInfo); }

Reference OutputCodeIntf::writeTooltip.

Referenced by TooltipManager::writeTooltips.

Private Member Functions

foreach()

template <class... Ts, class... As>
void OutputCodeList::foreach (void(OutputCodeIntf::*)(Ts...) methodPtr, As &&... args)
inline

Definition at line 292 of file outputlist.h.

292 void foreach(void (OutputCodeIntf::*methodPtr)(Ts...),As&&... args)
293 {
294 for (auto &e : m_outputCodeList)
295 {
296 if (e.enabled)
297 {
298 (e.intf.get()->*methodPtr)(std::forward<As>(args)...);
299 }
300 }
301 }

Reference m_outputCodeList.

Private Member Attributes

m_id

int OutputCodeList::m_id = -1

Definition at line 304 of file outputlist.h.

304 int m_id = -1;

Referenced by id and setId.

m_outputCodeList

std::vector<OutputCodeElem> OutputCodeList::m_outputCodeList

Definition at line 303 of file outputlist.h.

303 std::vector<OutputCodeElem> m_outputCodeList;

Referenced by add, add, clear, foreach, get and setEnabledFiltered.


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


Generated via doxygen2docusaurus by Doxygen 1.14.0.