[clang-tools-extra] clang-tidy: add misc-use-bulk-insert check (PR #226742)

via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 26 19:55:58 PDT 2026


================
@@ -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


More information about the cfe-commits mailing list