What is .tcc?

M

Malte Starostik

jsnX said:
Where is there some documentation about this suffix?
It's not standardised. Some use .tcc (t = template, cc = C++ source),
some use .icc (i = included, cc = C++ source), some use .h (but that
makes it indistinguishable from "real" headers), some just don't use an
extra file at all. It's usually a file that contains implementations of
templates declared in a header that then #includes the .tcc (or
whatever) file. But as there is no standard nor a general consense
about this, it could be anything else as well.
It's just an artifact of the need to have template definitions visible
in all translation units that use them with most compilers:

====example.hpp====
#ifndef EXAMPLE_HPP
#define EXAMPLE_HPP

template< typename T > void f();

#include "example.tcc"

#endif

====example.tcc====
#ifndef EXAMPLE_HPP
# error Don't include this file directly, include example.hpp instead
#endif

template< typename T > void f()
{
// stuff
}

Cheers,
Malte
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,202
Messages
2,571,057
Members
47,661
Latest member
sxarexu

Latest Threads

Top