parsing of c++ template definitions in separate files
Raimar Sandner
lists at 404not-found.de
Tue Apr 24 15:01:14 BST 2012
Hi,
I'm working with a project where most template definitions are in separate
*.tpp files. A minimal example follows:
--------------------------------------------------------
The file main.cpp:
--------------------------------------------------------
#include "foo.h"
int main(int argc, char **argv) {
Foo<1> f;
}
--------------------------------------------------------
The file foo.h:
--------------------------------------------------------
#ifndef FOO_H
#define FOO_H
template<int R>
struct Foo
{
void bar();
};
#include "foo.tpp"
#endif // FOO_H
--------------------------------------------------------
The file foo.tpp:
--------------------------------------------------------
template<int R>
void Foo<R>::bar()
{
}
--------------------------------------------------------
Now when I edit foo.tpp, the semantic analysis cannot resolve the class Foo<R>
unless I #include "foo.h". This is safe because of the include guards, but if
possible I would like to avoid this workaround because I would need to
maintain a private branch of the project. Is there any other way to tell the
parser that when editing foo.tpp it should parse foo.h along with it?
Best regards
Raimar
More information about the KDevelop
mailing list