Many of my templates are parsed incorrectly by VAX (Most irritating on my iterators). I know that you have it under known issues. Should I report cases where the parser fails, or have you given up? :)
Anyway here is a case that fails:
template <typename t_CClass>
class TOptions
{
public:
typedef t_CClass CClass;
};
template <typename t_COptions, typename t_CTransform>
class TIterator
{
public:
typename t_COptions::CClass *operator ->()
{
return (t_COptions::CClass *)t_CTransform::GetMega();
}
void CreateMess();
void DestroyMess();
};
class CMega
{
public:
static void *GetMega()
{
return 0;
}
};
class CTheClass
{
public:
int m_Test;
};
int main(int argc, char* argv[])
{
TIterator<TOptions<CTheClass>, CMega> Iter;
Iter->m_Test = 0;
// Iter.; VA correctly shows members
Iter-> // Here VA shows CClass instead of its members
return 0;
}