clang-tools 22.0.0git
BoostTidyModule.cpp
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "../ClangTidy.h"
10#include "../ClangTidyModule.h"
11#include "UseRangesCheck.h"
12#include "UseToStringCheck.h"
13using namespace clang::ast_matchers;
14
15namespace clang::tidy {
16namespace boost {
17namespace {
18
19class BoostModule : public ClangTidyModule {
20public:
21 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
22 CheckFactories.registerCheck<UseRangesCheck>("boost-use-ranges");
23 CheckFactories.registerCheck<UseToStringCheck>("boost-use-to-string");
24 }
25};
26
27} // namespace
28
29// Register the BoostModule using this statically initialized variable.
30static ClangTidyModuleRegistry::Add<BoostModule> X("boost-module",
31 "Add boost checks.");
32
33} // namespace boost
34
35// This anchor is used to force the linker to link in the generated object file
36// and thus register the BoostModule.
37volatile int BoostModuleAnchorSource = 0; // NOLINT(misc-use-internal-linkage)
38
39} // namespace clang::tidy
A collection of ClangTidyCheckFactory instances.
void registerCheck(llvm::StringRef CheckName)
Registers the CheckType with the name Name.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
Detects calls to standard library iterator algorithms that could be replaced with a boost ranges vers...
Finds calls to boost::lexical_cast<std::string> and / boost::lexical_cast<std::wstring> and replaces ...
static ClangTidyModuleRegistry::Add< BoostModule > X("boost-module", "Add boost checks.")
volatile int BoostModuleAnchorSource