1 /*
2 Bugs item #849591, was opened at 2003-11-26 11:35
3 Message generated for change (Tracker Item Submitted) made by Item Submitter
4 You can respond by visiting:
5 https://sourceforge.net/tracker/?func=detail&atid=106556&aid=849591&group_id=6556
6
7 Category: None
8 Group: None
9 Status: Open
10 Resolution: None
11 Priority: 5
12 Submitted By: Igor Proskuriakov (proskig)
13 Assigned to: Nobody/Anonymous (nobody)
14 Summary: C++ Member templates
15
16 Initial Comment:
17 Hi,
18 There seems to be a problem with how ctags treats C++
19 member templates. Example:
20 */
Foo()21 void MainClass< ParamClass1&, ParamClass2>::Foo()
22 {
23 exit(0);
24 };
25 /*
26 Generates erroneous tag
27 ParamClass1 test.cpp /^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;" v
28
29 Full ctags file:
30 !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
31 !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
32 !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
33 !_TAG_PROGRAM_NAME Exuberant Ctags //
34 !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
35 !_TAG_PROGRAM_VERSION 5.5.2 //
36 Foo test.cpp /^void MainClass< const ParamClass1&, ParamClass2>::Foo()$/;" f class:ParamClass2
37 ParamClass1 test.cpp /^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;" v
38
39 -----
40
41 Removing space after first angle bracket:
42 */
Foo()43 void MainClass<ParamClass1&, ParamClass2>::Foo()
44 {
45 exit(0);
46 };
47 /*
48 makes ctags to drop first letter from parameter class
49 name:
50
51 aramClass1 test.cpp /^void MainClass<ParamClass1&, ParamClass2>::Foo()$/;" v
52
53
54 Let me know if you need any clarification with this issue.
55 Many thanks in advance!
56 */
57