Allow SmallPtrSet to be used with a std::insert_iterator
authorAaron Ballman <aaron@aaronballman.com>
Fri, 5 Feb 2021 21:09:59 +0000 (16:09 -0500)
committerAaron Ballman <aaron@aaronballman.com>
Fri, 5 Feb 2021 21:12:47 +0000 (16:12 -0500)
commitec04e2850adc044d84c840d7c48ebe3291ec47f7
tree94247503e369f497c54b7ea096ba6a7e7fcf9415
parent9fd9b5a9c9ece53ce36ec87e7dc8389d0f572476
Allow SmallPtrSet to be used with a std::insert_iterator

Currently, the SmallPtrSet type allows inserting elements but it does
not support inserting elements with a positional hint. The lack of this
signature means that you cannot use SmallPtrSet with
std::insert_iterator or std::inserter(), which makes some code
constructs more awkward. This adds an overload of insert() that can be
used in these scenarios.

The positional hint is unused by SmallPtrSet and the call is equivalent
to calling insert() without a hint.
llvm/include/llvm/ADT/SmallPtrSet.h
llvm/unittests/ADT/SmallPtrSetTest.cpp