clang-tools 22.0.0git
clang::tidy::portability::TemplateVirtualMemberFunctionCheck Class Reference

Upon instantiating a template class, non-virtual member functions don't have to be instantiated unless they are used. More...

#include <TemplateVirtualMemberFunctionCheck.h>

Inheritance diagram for clang::tidy::portability::TemplateVirtualMemberFunctionCheck:
[legend]

Public Member Functions

 TemplateVirtualMemberFunctionCheck (StringRef Name, ClangTidyContext *Context)
void registerMatchers (ast_matchers::MatchFinder *Finder) override
void check (const ast_matchers::MatchFinder::MatchResult &Result) override
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override

Detailed Description

Upon instantiating a template class, non-virtual member functions don't have to be instantiated unless they are used.

Virtual member function instantiation on the other hand is unspecified and depends on the implementation of the compiler. This check intends to find cases when a virtual member function is not instantiated but it might be with a different compiler.

For the user-facing documentation see: https://clang.llvm.org/extra/clang-tidy/checks/portability/template-virtual-member-function.html

Definition at line 25 of file TemplateVirtualMemberFunctionCheck.h.

Constructor & Destructor Documentation

◆ TemplateVirtualMemberFunctionCheck()

clang::tidy::portability::TemplateVirtualMemberFunctionCheck::TemplateVirtualMemberFunctionCheck ( StringRef Name,
ClangTidyContext * Context )
inline

Definition at line 27 of file TemplateVirtualMemberFunctionCheck.h.

Member Function Documentation

◆ check()

void clang::tidy::portability::TemplateVirtualMemberFunctionCheck::check ( const ast_matchers::MatchFinder::MatchResult & Result)
override

Definition at line 31 of file TemplateVirtualMemberFunctionCheck.cpp.

◆ isLanguageVersionSupported()

bool clang::tidy::portability::TemplateVirtualMemberFunctionCheck::isLanguageVersionSupported ( const LangOptions & LangOpts) const
inlineoverride

Definition at line 31 of file TemplateVirtualMemberFunctionCheck.h.

◆ registerMatchers()

void clang::tidy::portability::TemplateVirtualMemberFunctionCheck::registerMatchers ( ast_matchers::MatchFinder * Finder)
override

Definition at line 19 of file TemplateVirtualMemberFunctionCheck.cpp.


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