A simple lib shared across several CPP projects (CPP Project Calculator and Statistics).
Requires a C++11 compiler. Only tested with GNU GCC on Arch Linux.
We previously used .ipp
files to store the "implementation" of our class templates and a .hpp
to store their declarations. However, even if I'm most of the time a vimmer, having the .ipp
extension not being recognized by some common GUI development tools like KDevelop or QtCreator was annoying, especially when we wanted to use these tools for the ease of debugging.
Some previous guidelines encouraged the use of .inl
files instead.
While having two files is still great for convenience, this is now a practise that isn't followed any more. We have decided to move the content of these .ipp
files to the end of their .hpp
counterparts, respecting forward declarations when present.
There is a distinction between class template and template class:
- Class template is a template used to generate template classes.
- Template class is an instance of a class template.