I've found a case which the Auto Complete isn't currently handling. The only
reason I mention it is because I've been spoiled by how snappy and thorough
the Auto Complete functionality is!
The two cases are:
- Inherited operator overloads
- Template arguments that don't assume global scope
The following code clarifies what I mean:
#include <QVector>
class F
{
public:
F()
{
m_data = 0;
}
int m_data;
};
class G : public QVector<F *>
{
public:
G()
{
}
void foo()
{
}
};
class B
{
public:
B()
{
}
class A
{
public:
A()
{
m_data = 0;
}
int m_data;
};
class C : public QVector<B::A *> // Template arguments that don't assume
global scope case workaround
{
public:
void foo()
{
}
};
class D : public QVector<A *> // Template arguments that don't assume
global scope case
{
public:
void foo()
{
}
};
class E : public QVector<F *> // F is in global scope
{
public:
void foo()
{
}
};
};
void foo()
{
B::C c;
c[1]->m_data; // no auto completion for m_data - Inherited operator
overloads
c.at(1)->m_data; // auto completion for both at() and m_data - Template
arguments that don't assume global scope case workaround
B::D d;
d[1]->m_data; // no auto completion for m_data - Inherited operator
overloads
d.at(1)->m_data; // auto completion for at(), but not for m_data -
Template arguments that don't assume global scope case
B::E e;
e[1]->m_data; // no auto completion for m_data - Inherited operator
overloads
e.at(1)->m_data; // auto completion for both at() and m_data
G g;
g[1]->m_data; // no auto completion for m_data - Inherited operator
overloads
g.at(1)->m_data; // auto completion for both at() and m_data
}
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-creator