clang-tools 6.0.0

Classes | Functions | Variables
clang::tidy::cppcoreguidelines Namespace Reference

## Classes
class | CppCoreGuidelinesModule
| A module containing checks of the C++ Core Guidelines. More...
class | InterfacesGlobalInitCheck
| Flags possible initialization order issues of static variables. More...
class | NoMallocCheck
| This checker is concerned with C-style memory management and suggest modern alternatives to it. More...
class | OwningMemoryCheck
| Checks for common use cases for gsl::owner and enforces the unique owner nature of it whenever possible. More...
class | ProBoundsArrayToPointerDecayCheck
| This check flags all array to pointer decays. More...
class | ProBoundsConstantArrayIndexCheck
| This checks that all array subscriptions on static arrays and std::arrays have a constant index and are within bounds. More...
class | ProBoundsPointerArithmeticCheck
| Flags all kinds of pointer arithmetic that have result of pointer type, i.e. More...
class | ProTypeConstCastCheck
| This check flags all instances of const_cast. More...
class | ProTypeCstyleCastCheck
| This check flags all use of C-style casts that perform a static_cast downcast, const_cast, or reinterpret_cast. More...
class | ProTypeMemberInitCheck
| Implements C++ Core Guidelines Type.6. More...
class | ProTypeReinterpretCastCheck
| Flags all occurrences of reinterpret_cast. More...
class | ProTypeStaticCastDowncastCheck
| Checks for usages of static_cast, where a base class is downcasted to a derived class. More...
class | ProTypeUnionAccessCheck
| This check flags all access to members of unions. More...
class | ProTypeVarargCheck
| This check flags all calls to c-style variadic functions and all use of va_arg. More...
class | SlicingCheck
| Flags slicing (incomplete copying of an object's state) of member variables or vtable. More...
class | SpecialMemberFunctionsCheck
| Checks for classes where some, but not all, of the special member functions are defined. More...

## Functions
static ClangTidyModuleRegistry::Add< CppCoreGuidelinesModule > | X ("cppcoreguidelines-module", "Adds checks for the C++ Core Guidelines.")
| AST_MATCHER_P (CXXForRangeStmt, hasRangeBeginEndStmt, ast_matchers::internal::Matcher< DeclStmt >, InnerMatcher)
| AST_MATCHER (Stmt, isInsideOfRangeBeginEndStmt)
| AST_MATCHER_P (Expr, hasParentIgnoringImpCasts, ast_matchers::internal::Matcher< Expr >, InnerMatcher)
static bool | needsConstCast (QualType SourceType, QualType DestType)
static bool | isIncompleteOrZeroLengthArrayType (ASTContext &Context, QualType T)
static bool | isEmpty (ASTContext &Context, const QualType &Type)
static bool | hasSingleVariadicArgumentWithValue (const CallExpr *C, uint64_t I)
static llvm::StringRef | toString (SpecialMemberFunctionsCheck::SpecialMemberFunctionKind K)
static std::string | join (ArrayRef< SpecialMemberFunctionsCheck::SpecialMemberFunctionKind > SMFS, llvm::StringRef AndOr)

## Variables
const internal::VariadicDynCastAllOfMatcher< Stmt, VAArgExpr > | vAArgExpr

## Function Documentation

## ◆ AST_MATCHER()

clang::tidy::cppcoreguidelines::AST_MATCHER | ( | Stmt | ,
|  | isInsideOfRangeBeginEndStmt |
| ) |  |

Definition at line 28 of file ProBoundsArrayToPointerDecayCheck.cpp.

## ◆ AST_MATCHER_P() [1/2]

clang::tidy::cppcoreguidelines::AST_MATCHER_P | ( | CXXForRangeStmt | ,
|  | hasRangeBeginEndStmt | ,
|  | ast_matchers::internal::Matcher< DeclStmt > | ,
|  | InnerMatcher |
| ) |  |

Definition at line 20 of file ProBoundsArrayToPointerDecayCheck.cpp.

## ◆ AST_MATCHER_P() [2/2]

clang::tidy::cppcoreguidelines::AST_MATCHER_P | ( | Expr | ,
|  | hasParentIgnoringImpCasts | ,
|  | ast_matchers::internal::Matcher< Expr > | ,
|  | InnerMatcher |
| ) |  |

Definition at line 34 of file ProBoundsArrayToPointerDecayCheck.cpp.

## ◆ hasSingleVariadicArgumentWithValue()

static bool clang::tidy::cppcoreguidelines::hasSingleVariadicArgumentWithValue | ( | const CallExpr * | C,
|  | uint64_t | I
| ) |  |
| static

Definition at line 32 of file ProTypeVarargCheck.cpp.

Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::check().

## ◆ isEmpty()

static bool clang::tidy::cppcoreguidelines::isEmpty | ( | ASTContext & | Context,
|  | const QualType & | Type
| ) |  |
| static

Definition at line 333 of file ProTypeMemberInitCheck.cpp.

References clang::tidy::ClangTidyCheck::diag(), isIncompleteOrZeroLengthArrayType(), and clang::tidy::utils::type_traits::isTriviallyDefaultConstructible().

## ◆ isIncompleteOrZeroLengthArrayType()

static bool clang::tidy::cppcoreguidelines::isIncompleteOrZeroLengthArrayType | ( | ASTContext & | Context,
|  | QualType | T
| ) |  |
| static

Definition at line 319 of file ProTypeMemberInitCheck.cpp.

Referenced by isEmpty().

## ◆ join()

static std::string clang::tidy::cppcoreguidelines::join | ( | ArrayRef< SpecialMemberFunctionsCheck::SpecialMemberFunctionKind > | SMFS,
|  | llvm::StringRef | AndOr
| ) |  |
| static

Definition at line 82 of file SpecialMemberFunctionsCheck.cpp.

References toString().

Referenced by rename_check::deleteMatchingLines(), rename_check::generateCommentLineHeader(), rename_check::generateCommentLineSource(), clang-tidy-diff::main(), run-clang-tidy::main(), rename_check::main(), add_new_check::main(), clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::onEndOfTranslationUnit(), and run-clang-tidy::run_tidy().

## ◆ needsConstCast()

static bool clang::tidy::cppcoreguidelines::needsConstCast | ( | QualType | SourceType,
|  | QualType | DestType
| ) |  |
| static

Definition at line 21 of file ProTypeCstyleCastCheck.cpp.

Referenced by clang::tidy::cppcoreguidelines::ProTypeCstyleCastCheck::check().

## ◆ toString()

static llvm::StringRef clang::tidy::cppcoreguidelines::toString | ( | SpecialMemberFunctionsCheck::SpecialMemberFunctionKind | K | ) |
| static

Definition at line 59 of file SpecialMemberFunctionsCheck.cpp.

References clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::CopyAssignment, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::CopyConstructor, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::DefaultDestructor, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::Destructor, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveAssignment, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveConstructor, and clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::NonDefaultDestructor.

Referenced by join(), main(), and clang::tidy::readability::IdentifierNamingCheck::storeOptions().

## ◆ X()

static ClangTidyModuleRegistry::Add<CppCoreGuidelinesModule> clang::tidy::cppcoreguidelines::X | ( | "cppcoreguidelines-module" | ,
|  | "Adds checks for the C++ Core Guidelines." |
| ) |  |
| static

Referenced by clang::tidy::cppcoreguidelines::CppCoreGuidelinesModule::addCheckFactories().

## Variable Documentation

## ◆ vAArgExpr

const internal::VariadicDynCastAllOfMatcher<Stmt, VAArgExpr> clang::tidy::cppcoreguidelines::vAArgExpr

Definition at line 20 of file ProTypeVarargCheck.cpp.