Skip to content

Commit 849a106

Browse files
authored
Merge pull request #27 from m-chaturvedi/add_templated_headers
cpplint/IWYU: Add atomic, bitset, complex and initializer_list
2 parents 1a3acc7 + fcb650b commit 849a106

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

cpplint/cpplint.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5377,6 +5377,9 @@ def ExpectingFunctionArgs(clean_lines, linenum):
53775377

53785378
_HEADERS_CONTAINING_TEMPLATES = (
53795379
('<array>', ('array',)),
5380+
('<atomic>', ('atomic',)),
5381+
('<bitset>', ('bitset',)),
5382+
('<complex>', ('complex',)),
53805383
('<deque>', ('deque',)),
53815384
('<functional>', ('unary_function', 'binary_function',
53825385
'plus', 'minus', 'multiplies', 'divides', 'modulus',
@@ -5395,6 +5398,7 @@ def ExpectingFunctionArgs(clean_lines, linenum):
53955398
'const_mem_fun_ref_t', 'const_mem_fun1_ref_t',
53965399
'mem_fun_ref',
53975400
)),
5401+
('<initializer_list>', ('initializer_list',)),
53985402
('<limits>', ('numeric_limits',)),
53995403
('<list>', ('list',)),
54005404
('<map>', ('map', 'multimap',)),

cpplint/cpplint_unittest.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,50 @@ def testIncludeWhatYouUse(self):
10901090
""",
10911091
'Add #include <array> for array<>'
10921092
' [build/include_what_you_use] [4]')
1093+
self.TestIncludeWhatYouUse(
1094+
"""#include <atomic>
1095+
std::atomic<int> A;
1096+
""",
1097+
'')
1098+
self.TestIncludeWhatYouUse(
1099+
"""#include <string>
1100+
std::atomic<int> A;
1101+
""",
1102+
'Add #include <atomic> for atomic<>'
1103+
' [build/include_what_you_use] [4]')
1104+
self.TestIncludeWhatYouUse(
1105+
"""#include <bitset>
1106+
std::bitset<4> A;
1107+
""",
1108+
'')
1109+
self.TestIncludeWhatYouUse(
1110+
"""#include <string>
1111+
std::bitset<4> A;
1112+
""",
1113+
'Add #include <bitset> for bitset<>'
1114+
' [build/include_what_you_use] [4]')
1115+
self.TestIncludeWhatYouUse(
1116+
"""#include <complex>
1117+
std::complex<float> A;
1118+
""",
1119+
'')
1120+
self.TestIncludeWhatYouUse(
1121+
"""#include <string>
1122+
std::complex<double> A;
1123+
""",
1124+
'Add #include <complex> for complex<>'
1125+
' [build/include_what_you_use] [4]')
1126+
self.TestIncludeWhatYouUse(
1127+
"""#include <initializer_list>
1128+
std::initializer_list<int> A;
1129+
""",
1130+
'')
1131+
self.TestIncludeWhatYouUse(
1132+
"""#include <string>
1133+
std::initializer_list<int> A;
1134+
""",
1135+
'Add #include <initializer_list> for initializer_list<>'
1136+
' [build/include_what_you_use] [4]')
10931137
self.TestIncludeWhatYouUse(
10941138
"""#include <optional>
10951139
std::optional<int> A;

0 commit comments

Comments
 (0)