1*893d53d1SChris Cotter //===--- UseConstraintsCheck.h - clang-tidy ---------------------*- C++ -*-===// 2*893d53d1SChris Cotter // 3*893d53d1SChris Cotter // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*893d53d1SChris Cotter // See https://llvm.org/LICENSE.txt for license information. 5*893d53d1SChris Cotter // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*893d53d1SChris Cotter // 7*893d53d1SChris Cotter //===----------------------------------------------------------------------===// 8*893d53d1SChris Cotter 9*893d53d1SChris Cotter #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USECONSTRAINTSCHECK_H 10*893d53d1SChris Cotter #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USECONSTRAINTSCHECK_H 11*893d53d1SChris Cotter 12*893d53d1SChris Cotter #include "../ClangTidyCheck.h" 13*893d53d1SChris Cotter 14*893d53d1SChris Cotter namespace clang::tidy::modernize { 15*893d53d1SChris Cotter 16*893d53d1SChris Cotter /// Replace enable_if with C++20 requires clauses. 17*893d53d1SChris Cotter /// 18*893d53d1SChris Cotter /// For the user-facing documentation see: 19*893d53d1SChris Cotter /// http://clang.llvm.org/extra/clang-tidy/checks/modernize/use-constraints.html 20*893d53d1SChris Cotter class UseConstraintsCheck : public ClangTidyCheck { 21*893d53d1SChris Cotter public: UseConstraintsCheck(StringRef Name,ClangTidyContext * Context)22*893d53d1SChris Cotter UseConstraintsCheck(StringRef Name, ClangTidyContext *Context) 23*893d53d1SChris Cotter : ClangTidyCheck(Name, Context) {} 24*893d53d1SChris Cotter void registerMatchers(ast_matchers::MatchFinder *Finder) override; 25*893d53d1SChris Cotter void check(const ast_matchers::MatchFinder::MatchResult &Result) override; isLanguageVersionSupported(const LangOptions & LangOpts)26*893d53d1SChris Cotter bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { 27*893d53d1SChris Cotter return LangOpts.CPlusPlus20; 28*893d53d1SChris Cotter } 29*893d53d1SChris Cotter }; 30*893d53d1SChris Cotter 31*893d53d1SChris Cotter } // namespace clang::tidy::modernize 32*893d53d1SChris Cotter 33*893d53d1SChris Cotter #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USECONSTRAINTSCHECK_H 34