Quote Originally Posted by tuli View Post
Is there any other way?
yes and no

you can explicitly instantiate templates ( function, classes or single members ) and, in c++11, you can inhibit the instantiation of a template via an extern template declaration ( termed "explicit instantiation declaration" in the c++11 lingo ). However, you need to know the to be instantiated types in advance in order for this to work; moreover, explicit instantiation is not the same of an implicit instantiation for a given code involving class templates, in general.
So, there's no real separate compilation model for c++ templates ( well, ignoring "export"; but, as you noted, it's been deprecated for good reasons ... ).

as a side note, IMHO "cpp" files should be left to real source files; some alternative extension would be more appropriate ( personally, I like the "inl" extension ).

BTW, the thread title says "template classes and inline methods" but nowhere you speak about inline's ... just to be clear, note that just including the template members definitions as a separate file does not make them "inline", which is an entirely different matter ( in this respect the FAQ seems incorrect by suggesting to inline the function ... ).

Quote Originally Posted by tuli View Post
another question: i have methods that dont use any template code. Can i somehow declare them as such? (more of an esthecial question, which would make it easier to distinguish between template and non.template code).
what do you mean ? if a method doesn't "use any template code" then why is it a member of a class template ?