From 64aa388efaff48652ac235c6e6edab86f9a8df33 Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Mon, 14 Sep 2015 16:56:57 +0000 Subject: [PATCH] [clang-tidy] updated misc-sizeof-container docs. llvm-svn: 247580 --- .../docs/clang-tidy/checks/misc-sizeof-container.rst | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/clang-tools-extra/docs/clang-tidy/checks/misc-sizeof-container.rst b/clang-tools-extra/docs/clang-tidy/checks/misc-sizeof-container.rst index 2e880d4ef1e5..b3cbb25deb0f 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/misc-sizeof-container.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/misc-sizeof-container.rst @@ -4,7 +4,9 @@ misc-sizeof-container The check finds usages of ``sizeof`` on expressions of STL container types. Most likely the user wanted to use ``.size()`` instead. -Currently only ``std::string`` and ``std::vector`` are supported. +All class/struct types declared in namespace ``std::`` having a const ``size()`` +method are considered containers, with the exception of ``std::bitset`` and +``std::array``. Examples: @@ -12,9 +14,12 @@ Examples: std::string s; int a = 47 + sizeof(s); // warning: sizeof() doesn't return the size of the container. Did you mean .size()? - // The suggested fix is: int a = 47 + s.size(); int b = sizeof(std::string); // no warning, probably intended. std::string array_of_strings[10]; int c = sizeof(array_of_strings) / sizeof(array_of_strings[0]); // no warning, definitely intended. + + std::array std_array; + int d = sizeof(std_array); // no warning, probably intended. +