================
@@ -0,0 +1,97 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "UseBulkInsertCheck.h"
+#include "clang/ASTMatchers/ASTMatchFinder.h"
+#include "clang/Lex/Lexer.h"
+
+using namespace clang::ast_matchers;
+
+namespace clang::tidy::misc {
+
+void UseBulkInsertCheck::registerMatchers(MatchFinder *Finder) {
+  Finder->addMatcher(
+      cxxForRangeStmt(
+          hasLoopVariable(varDecl().bind("loop_var")),
+          hasRangeInit(expr().bind("range")),
+          hasBody(compoundStmt(
+              statementCountIs(1),
+              hasAnySubstatement(cxxMemberCallExpr(
+                  callee(memberExpr(
+                      ofClass(cxxRecordDecl(hasAnyName(
+                          "::std::set", "::std::map", "::std::multiset",
----------------
ayyYoSam wrote:

Makes sense. I'll keep the current implementation focused on standard 
associative containers for now. If Mainteiner (who will be doing the review) 
agrees, we can add an option for custom containers (such as Boost containers) 
as a follow-up improvement in a new Pull Request or in this one right here.

https://github.com/llvm/llvm-project/pull/226742
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to