# test for stl beautifier, do op_regex_test < mangled-name.txt # line go by couple mangled name then expected name after run, line # starting by # and blank line are ignored. The test must output nothing if # successfull # before removing tests think it take time to write them. This is intended # to be a coverage test of all pattern in stl.pat. # g++ 2.95 stl mangled name basic_string, __default_alloc_template > string prefix_basic_string, __default_alloc_template > prefix_basic_string, __default_alloc_template> vector, __default_alloc_template >, allocator, __default_alloc_template > > > vector map, allocator > map map, __default_alloc_template >, image_name, less, __default_alloc_template > >, allocator > map multimap, allocator > multimap prefix_multimap, allocator > prefix_multimap, allocator> map > map bitset<33, unsigned long> bitset<33> istream_iterator istream_iterator ostream_iterator ostream_iterator # shared between all supported gcc version deque, 0> deque std::deque, 0> deque prefix_deque, 0> prefix_deque, 0> list > list list > list _List_iterator list::const_iterator _List_iterator list::iterator prefix_list > prefix_list> std::list > list queue, 0> > queue prefix_queue, 0> > prefix_queue> std::queue, 0> > queue # get ride of _Rb_tree typedef, these are also mapped by map/set but we can't # distinguish a set>::iterator and a map::iterator # as they decay to an identical typedef so we don't try to be clever here. _Rb_tree_iterator _Rb_tree::const_iterator _Rb_tree_iterator _Rb_tree::iterator # this run through special case pattern _Rb_tree_iterator, pair const &, pair const *> _Rb_tree>::const_iterator _Rb_tree_iterator, pair &, pair *> _Rb_tree>::iterator _Rb_tree, less, allocator > _Rb_tree _Rb_tree, _Select1st>, less, allocator> _Rb_tree, string const> _Select1st > int const _Select1st > int const _Select1st> string const _Identity int # this test fail since pair<> is not recognized as a type # _Select1st const, sample_entry>> # pair const # 2.95 map/multimap _Rb_tree, _Select1st >, less, allocator > _Rb_tree, int const> # 3.2 map/multimap _Rb_tree, _Select1st >, less, allocator > > _Rb_tree, int const> _List_base> _List_base # strictly speaking 3rd parameters is less priority_queue >, less > priority_queue prefix_priority_queue >, less > prefix_priority_queue, less> std::priority_queue >, std::less > priority_queue vector > vector vector > vector vector > vector stack, 0> > stack prefix_stack, 0> > prefix_stack> std::stack, 0> > stack # test complex typename, we don't support more than one level of nesting vector >, allocator > > > vector> std::vector >, std::allocator > > > vector> set, allocator > set set, __default_alloc_template >, less, __default_alloc_template > >, allocator, __default_alloc_template > > > set set > set prefix_set, allocator > prefix_set, allocator> prefix_set, allocator > prefix_set, allocator> multiset, allocator > multiset # test than pointer and reference to pointer are handled vector > vector vector > vector # algorithm, will work for 3.2 too. int * find(int *, int *, int const &, random_access_iterator_tag) int * find(int *, int *, int const &, random_access_iterator_tag) char const * find_if(char const *, char const *, compare, random_access_iterator_tag) char const * find_if(char const *, char const *, compare, random_access_iterator_tag) # gcc 3.2 std::basic_string, std::allocator > string std::basic_string, std::allocator > wstring # __normal_iterator are treated a part __gnu_cxx::__normal_iterator string::const_iterator __gnu_cxx::__normal_iterator string::iterator __gnu_cxx::__normal_iterator wstring::iterator __gnu_cxx::__normal_iterator wstring::const_iterator std::reverse_iterator<__gnu_cxx::__normal_iterator> reverse_iterator __gnu_cxx::__normal_iterator> vector::const_iterator __gnu_cxx::__normal_iterator> vector::iterator std::reverse_iterator<__gnu_cxx::__normal_iterator> reverse_iterator::const_iterator std::map, std::allocator > > map std::multimap, std::allocator > > multimap std::map > > map # parameter is size_t on x86 it's an unsigned bitset<(@SIZE_T_TYPE@)33> bitset<33> # 3, 4, 5th params are ptrdiff_t it's an int on x86 std::iterator iterator std::iterator iterator std::iterator iterator std::iterator iterator std::iterator iterator # 4th parms is ptrdiff_t std::istream_iterator, @PTRDIFF_T_TYPE@> istream_iterator std::ostream_iterator, @PTRDIFF_T_TYPE@> ostream_iterator # simple enough, it's just std::basic_ios > basic_ios std::basic_streambuf > basic_streambuf std::basic_istream > basic_istream std::basic_ostream > basic_ostream std::basic_iostream > basic_iostream std::basic_filebuf > basic_filebuf std::basic_ifstream > basic_ifstream std::basic_ofstream > basic_ofstream std::basic_fstream > basic_fstream std::istreambuf_iterator > istreambuf_iterator std::ostreambuf_iterator > ostreambuf_iterator std::basic_stringbuf, std::allocator > basic_stringbuf std::basic_istringstream, std::allocator > basic_istringstream std::basic_ostringstream, std::allocator > basic_ostringstream std::basic_stringstream, std::allocator > basic_stringstream # all the above intantiated with char and wchar_t fallback to standardised # typedef except istreambuf_iterator and ostreambuf_iterator std::basic_ios > ios std::basic_ios > wios std::basic_streambuf > streambuf std::basic_streambuf > wstreambuf std::basic_istream > istream std::basic_istream > wistream std::basic_ostream > ostream std::basic_ostream > wostream std::basic_iostream > iostream std::basic_iostream > wiostream std::basic_filebuf > filebuf std::basic_filebuf > wfilebuf std::basic_ifstream > ifstream std::basic_ifstream > wifstream std::basic_ofstream > ofstream std::basic_ofstream > wofstream std::basic_fstream > fstream std::basic_fstream > wfstream std::basic_stringbuf, std::allocator > stringbuf std::basic_stringbuf, std::allocator > wstringbuf std::basic_istringstream, std::allocator > istringstream std::basic_istringstream, std::allocator > wistringstream std::basic_ostringstream, std::allocator > ostringstream std::basic_ostringstream, std::allocator > wostringstream std::basic_stringstream, std::allocator > stringstream std::basic_stringstream, std::allocator > wstringstream # these two are also in iosfw, namely # typedef fpos::state_type> streampos; # typedef fpos::state_type> wstreampos; # but twice decay to fpos<__mbstate>, we choosed to translate to streampos std::fpos<__mbstate_t> streampos # locale std::num_put > num_put std::num_put > num_put std::num_get > num_get std::num_get > num_get std::time_put > time_put std::time_put > time_put std::time_get > time_get std::time_get > time_get std::money_put > money_put std::money_put > money_put std::money_get > money_get std::money_get > money_get std::moneypunct moneypunct std::moneypunct moneypunct std::moneypunct_byname moneypunct_byname std::moneypunct_byname moneypunct_byname # algorithm vector::iterator find::iterator, string>(vector::iterator, vector::iterator, string const&, random_access_iterator_tag) vector::iterator find(vector::iterator, vector::iterator, string const&, random_access_iterator_tag) string::iterator find(string::iterator, string::iterator, int const&, random_access_iterator_tag) string::iterator find(string::iterator, string::iterator, int const&, random_access_iterator_tag) vector::iterator find::iterator, int>(vector::iterator, vector::iterator, int const&, random_access_iterator_tag) vector::iterator find(vector::iterator, vector::iterator, int const&, random_access_iterator_tag) char const * find(char const *, char const *, int const &, random_access_iterator_tag) char const * find(char const *, char const *, int const &, random_access_iterator_tag) string::const_iterator find(string::const_iterator, string::const_iterator, int const&, random_access_iterator_tag) string::const_iterator find(string::const_iterator, string::const_iterator, int const&, random_access_iterator_tag) string::const_iterator find_if(string::const_iterator, string::const_iterator, compare, random_access_iterator_tag) string::const_iterator find_if(string::const_iterator, string::const_iterator, compare, random_access_iterator_tag) vector::iterator find_if::iterator, compare>(vector::iterator, vector::iterator, compare, random_access_iterator_tag) vector::iterator find_if(vector::iterator, vector::iterator, compare, random_access_iterator_tag) ostream & operator<<, __default_alloc_template>(ostream &, string const &) ostream & operator<<(ostream &, string const &) istream & operator>>, __default_alloc_template>(istream &, string &) istream & operator>>(istream &, string &) istream & getline, __default_alloc_template>(istream &, string &) istream & getline(istream &, string &) ostream& operator<< , allocator>(ostream&, string const&) ostream & operator<<(ostream &, string const &) istream& operator>> , allocator>(istream&, string&) istream & operator>>(istream &, string &) std::basic_ostream >::operator<<(long) ostream::operator<<(long)