clang  6.0.0svn
List of all members
clang::ento::BugReporterVisitorImpl< DERIVED > Class Template Reference

This class provides a convenience implementation for clone() using the Curiously-Recurring Template Pattern. More...

#include "clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h"

Inheritance diagram for clang::ento::BugReporterVisitorImpl< DERIVED >:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::BugReporterVisitorImpl< DERIVED >:
Collaboration graph
[legend]

Additional Inherited Members

- Public Member Functions inherited from clang::ento::BugReporterVisitor
 BugReporterVisitor ()=default
 
 BugReporterVisitor (const BugReporterVisitor &)=default
 
 BugReporterVisitor (BugReporterVisitor &&)
 
virtual ~BugReporterVisitor ()
 
virtual std::shared_ptr< PathDiagnosticPieceVisitNode (const ExplodedNode *Succ, const ExplodedNode *Pred, BugReporterContext &BRC, BugReport &BR)=0
 Return a diagnostic piece which should be associated with the given node. More...
 
virtual std::unique_ptr< PathDiagnosticPiecegetEndPath (BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR)
 Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed before the path is expanded. More...
 
virtual void Profile (llvm::FoldingSetNodeID &ID) const =0
 
- Static Public Member Functions inherited from clang::ento::BugReporterVisitor
static std::unique_ptr< PathDiagnosticPiecegetDefaultEndPath (BugReporterContext &BRC, const ExplodedNode *N, BugReport &BR)
 Generates the default final diagnostic piece. More...
 

Detailed Description

template<class DERIVED>
class clang::ento::BugReporterVisitorImpl< DERIVED >

This class provides a convenience implementation for clone() using the Curiously-Recurring Template Pattern.

If you are implementing a custom BugReporterVisitor, subclass BugReporterVisitorImpl and provide a public or protected copy constructor.

(Warning: if you have a deep subclass of BugReporterVisitorImpl, the default implementation of clone() will NOT do the right thing, and you will have to provide your own implementation.)

Definition at line 92 of file BugReporterVisitors.h.


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