I saw some code in which the developer defined a class template in a .h file, and defined its methods in a .hpp file. This caught me a bit by surprise.
Are there are
The Boost library uses ".hpp" for headers containing the declaration AND implementation. In such cases, there is no need to link with the (pre-compiled) library.
In respect with Boost idea, such extension as ".inl" could be a good idea to describe the "implementation" source file of a template declaration header.