[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shared library versioning

[I think you meant to sent this to -devel as well as just me
privately... I hope you don't mind me sending my response back to -devel]

Alexis.Papadopoulos@imag.fr wrote:

> But is this possible ? If for instance I know that T will be double, int and a
> "custom" class, can I force the code for g<double>, g<int> and g<custom> to be
> in the shared library ?

I think it is using explicit instantiation. However, you lose a lot of
the advantages of C++ templates --- ability to inline code, and, most
importantly, ability to instantiate with an arbitrary (compatible) type.

If you decide to go this route, though, you will need to get rid of the
.cc files from the -dev package; otherwise, you risk breaking the one
definition rule. (Maybe this is what you meant by every change needing a
new soversion?)

Reply to: