Doxygen
Loading...
Searching...
No Matches
OutputCodeDefer< OutputCodeGen > Class Template Referencefinal

Helper template class which defers all methods of OutputCodeIntf to an existing object of the templated type. More...

#include <src/outputlist.h>

Inheritance diagram for OutputCodeDefer< OutputCodeGen >:
Collaboration diagram for OutputCodeDefer< OutputCodeGen >:

Public Member Functions

 OutputCodeDefer (OutputCodeGen *codeGen)
OutputType type () const override
std::unique_ptr< OutputCodeIntfclone () override
void codify (const DString &s) override
void stripCodeComments (bool b) override
void startSpecialComment () override
void endSpecialComment () override
void setStripIndentAmount (size_t amount) override
void writeCodeLink (CodeSymbolType type, const DString &ref, const DString &file, const DString &anchor, const DString &name, const DString &tooltip) override
void writeLineNumber (const DString &ref, const DString &file, const DString &anchor, int lineNumber, bool writeLineAnchor) override
void writeTooltip (const DString &id, const DocLinkInfo &docInfo, const DString &decl, const DString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo) override
void startCodeLine (int lineNr) override
void endCodeLine () override
void startFontClass (const DString &c) override
void endFontClass () override
void writeCodeAnchor (const DString &name) override
void startCodeFragment (const DString &style) override
void endCodeFragment (const DString &style) override
void startFold (int lineNr, const DString &startMarker, const DString &endMarker) override
void endFold () override
Public Member Functions inherited from OutputCodeIntf
 OutputCodeIntf ()=default

Private Attributes

OutputCodeGen * m_codeGen

Detailed Description

template<class OutputCodeGen>
class OutputCodeDefer< OutputCodeGen >

Helper template class which defers all methods of OutputCodeIntf to an existing object of the templated type.

This allows to add the same generator to multiple lists (one that owns the element, and others that refers to it).

Definition at line 47 of file outputlist.h.

Constructor & Destructor Documentation

◆ OutputCodeDefer()

template<class OutputCodeGen>
OutputCodeDefer< OutputCodeGen >::OutputCodeDefer ( OutputCodeGen * codeGen)
inline

Definition at line 50 of file outputlist.h.

Helper template class which defers all methods of OutputCodeIntf to an existing object of the templat...
Definition outputlist.h:48
OutputCodeGen * m_codeGen
Definition outputlist.h:100

Member Function Documentation

◆ clone()

template<class OutputCodeGen>
std::unique_ptr< OutputCodeIntf > OutputCodeDefer< OutputCodeGen >::clone ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 52 of file outputlist.h.

52{ return std::make_unique<OutputCodeDefer>(*this); }

◆ codify()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::codify ( const DString & s)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 53 of file outputlist.h.

53{ m_codeGen->codify(s); }

◆ endCodeFragment()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::endCodeFragment ( const DString & style)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 90 of file outputlist.h.

91 { m_codeGen->endCodeFragment(style); }

◆ endCodeLine()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::endCodeLine ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 75 of file outputlist.h.

76 { m_codeGen->endCodeLine(); }

◆ endFold()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::endFold ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 96 of file outputlist.h.

97 { m_codeGen->endFold(); }

◆ endFontClass()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::endFontClass ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 81 of file outputlist.h.

82 { m_codeGen->endFontClass(); }

◆ endSpecialComment()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::endSpecialComment ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 56 of file outputlist.h.

56{ m_codeGen->endSpecialComment(); }

◆ setStripIndentAmount()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::setStripIndentAmount ( size_t amount)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 57 of file outputlist.h.

57{ m_codeGen->setStripIndentAmount(amount); }

◆ startCodeFragment()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::startCodeFragment ( const DString & style)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 87 of file outputlist.h.

88 { m_codeGen->startCodeFragment(style); }

◆ startCodeLine()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::startCodeLine ( int lineNr)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 72 of file outputlist.h.

73 { m_codeGen->startCodeLine(lineNr); }

◆ startFold()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::startFold ( int lineNr,
const DString & startMarker,
const DString & endMarker )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 93 of file outputlist.h.

94 { m_codeGen->startFold(lineNr,startMarker,endMarker); }

◆ startFontClass()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::startFontClass ( const DString & c)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 78 of file outputlist.h.

79 { m_codeGen->startFontClass(c); }

◆ startSpecialComment()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::startSpecialComment ( )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 55 of file outputlist.h.

55{ m_codeGen->startSpecialComment(); }

◆ stripCodeComments()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::stripCodeComments ( bool b)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 54 of file outputlist.h.

54{ m_codeGen->stripCodeComments(b); }

◆ type()

template<class OutputCodeGen>
OutputType OutputCodeDefer< OutputCodeGen >::type ( ) const
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 51 of file outputlist.h.

51{ return m_codeGen->type(); }

◆ writeCodeAnchor()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::writeCodeAnchor ( const DString & name)
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 84 of file outputlist.h.

85 { m_codeGen->writeCodeAnchor(name); }

◆ writeCodeLink()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::writeCodeLink ( CodeSymbolType type,
const DString & ref,
const DString & file,
const DString & anchor,
const DString & name,
const DString & tooltip )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 58 of file outputlist.h.

62 { m_codeGen->writeCodeLink(type,ref,file,anchor,name,tooltip); }
OutputType type() const override
Definition outputlist.h:51

◆ writeLineNumber()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::writeLineNumber ( const DString & ref,
const DString & file,
const DString & anchor,
int lineNumber,
bool writeLineAnchor )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 64 of file outputlist.h.

66 { m_codeGen->writeLineNumber(ref,file,anchor,lineNumber,writeLineAnchor); }

◆ writeTooltip()

template<class OutputCodeGen>
void OutputCodeDefer< OutputCodeGen >::writeTooltip ( const DString & id,
const DocLinkInfo & docInfo,
const DString & decl,
const DString & desc,
const SourceLinkInfo & defInfo,
const SourceLinkInfo & declInfo )
inlineoverridevirtual

Implements OutputCodeIntf.

Definition at line 68 of file outputlist.h.

70 { m_codeGen->writeTooltip(id,docInfo,decl,desc,defInfo,declInfo); }

Member Data Documentation

◆ m_codeGen

template<class OutputCodeGen>
OutputCodeGen* OutputCodeDefer< OutputCodeGen >::m_codeGen
private

Definition at line 100 of file outputlist.h.


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