This partially completes the STL support for the Header Fixup plugin. It completes the supported headers with the missing features and the new C++11 and C++14 ones. It also adds support fo the following headers: <array>, <codecvt>, <forward_list>, <initializer_list>, <new>, <random>, <ratio>, <scoped_allocator_adaptor>, <tuple>, <typeindex>, <typeinfo>, <unordered_map> and <unordered_set>. It also moves std::endl from <iostream> to <ostream> and adds <isblank> to <cctype>.</cctype></isblank></ostream></iostream></unordered_set></unordered_map></typeinfo></typeindex></tuple></scoped_allocator_adaptor></ratio></random></new></initializer_list></forward_list></codecvt></array>
It raises some questions that will probaby have to be answered at some point and most notably: how to handle overloads that appear in different headers? Currently, std::move lives in both <algorithm> and <utility> but does two different things. Also, std::swap moved from <algorithm> to <utility> in C++11. A more elaborate version of Header Fixup could include information about the standard revision too, etc... Well, at least this patch completes the standard library a bit, but some things still lack.</utility></algorithm></utility></algorithm>
Applied in SVN. Well done and thank you.
WRT to your questions: Thats not so easy to do w/o having a more complex parser. I don't intend to implement such as this plugin shall just help as best as possible and not do all the work.
If you have (however) the time to taggle this, please provide patches...