[GCC-XML] Nested template class not declared?
Wesley Tansey
tansey at vt.edu
Fri Mar 30 15:59:40 EDT 2007
Hi,
First off, let me just say that I LOVE this tool! I spent 2 weeks
trying to hack an ANTLR C++ grammar to do XML output before I found this
tool, so you guys have been a huge life saver already.
I am writing a tool which requires seeing the template parameters of an
STL map class. I've written my own parsing code to get the parameters
recursively (i.e. there may be a map which has a map as a key).
However, in trying this example, I have discovered that if you have a
templated class as a parameter to the inner map, the templated class
seems to never be recognized, even though it should be since it's
certainly a variable in the map. The following is an example program:
#include <map>
#include <vector>
template <typename T>
class A
{
T my_t;
};
class B
{
std::map<std::map<A<int>, int>, std::vector<double> > combo;
std::map<A<double>, int> single;
};
int main(){return 0;}
Here, combo is a map which uses a map as a key, and the inner map uses
A<int> as its key. However, the XML file produced by GCC-XML doesn't
contain a class definition for A<int> (though it does contain one for
A<double>). I'm using the 0.6.0 release and VC 7.1 to parse the code.
Is this just not possible with this version of GCC-XML or is it maybe
because I'm using VC?
Sincerely,
Wesley Tansey
Graduate Student
Department of Computer Science
Virginia Tech
http://people.cs.vt.edu/~tansey/
More information about the gccxml
mailing list