Typically, to check whether an element is present and set to true, instead of
foo.find(c) != foo.end() && foo.find(c)->second
one uses
foo[c]
The map<> code creates elements automatically when they do not exist
and zero-initializes them.
This avoids puzzlement of Coverity scan when seeing that find() result
is dereferenced without checking that it is not equal to end().
Moreover, this makes the code much much clearer. I still do not
understand it, though ;)