Simplify g++ error messages

You use templates and STL and sometimes get lost on insanely complex compiler errors?

Filter it through this script of mine.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/usr/bin/perl -w

use strict;
use warnings;

while (<>)
{
    s/std::basic_string<char, std::char_traits<char>, std::allocator<char> >\s*/std::string/g;
    s/std::set<(.+?), std::less<\1>, std::allocator<\1> >/std::set<$1>/g;
    print;
}

It's quite simple minded, but it has more than once been a lifesaver.

Update: Bet Hutchings pointed me at stlfilt, which however seems to be in need of some updating to newer versions of g++.