File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -91,22 +91,8 @@ bool CheckStl::isIterator(const Variable *var) const
9191 if (!var || !var->isLocal () || !Token::Match (var->typeEndToken (), " iterator|const_iterator|reverse_iterator|const_reverse_iterator|auto" ))
9292 return false ;
9393
94- if (var->typeEndToken ()->str () == " auto" ) {
95- if (Token::Match (var->typeEndToken (), " auto %name% ; %name% = %var% . %name% ( )" )) {
96- const Token* containertok = var->typeEndToken ()->tokAt (5 );
97- if (!containertok->variable ())
98- return false ;
99-
100- const Library::Container* container = _settings->library .detectContainer (containertok->variable ()->typeStartToken ());
101- if (!container)
102- return false ;
103-
104- Library::Container::Yield yield = container->getYield (containertok->strAt (2 ));
105- if (yield != Library::Container::END_ITERATOR && yield != Library::Container::START_ITERATOR && yield != Library::Container::ITERATOR)
106- return false ;
107- } else
108- return false ;
109- }
94+ if (var->typeEndToken ()->str () == " auto" )
95+ return (var->nameToken ()->valueType () && var->nameToken ()->valueType ()->type == ValueType::Type::ITERATOR);
11096
11197 if (var->type ()) { // If it is defined, ensure that it is defined like an iterator
11298 // look for operator* and operator++
You can’t perform that action at this time.
0 commit comments