
On Fri, Nov 19, 2010 at 4:14 PM, Joel de Guzman
On 11/19/2010 3:25 PM, Dean Michael Berris wrote:
On Fri, Nov 19, 2010 at 3:11 PM, Joel de Guzman
A good way to start is by separating the implementation files from interface files such that the user can include the interface files from headers and the implementation files from cpp plus template instantiations with the client's actual template types.
Interesting. This sound like a lot of work though.
My problem is that a lot of the types are determined through template metafunctions. I don't have many opaque types lying around that I can move the implementations of to compilable files. I also have a ton of template functions that are marked 'inline' to avoid ORD violations when compiling/linking.
Also, providing the template specializations myself sound like a really bad nightmare. If I didn't aim to support for example a means of supporting std::string, std::wstring, std::vector<char>, CString, QString, and<insert-string-implementation-here> in the messages, I might be able to move implementations over and just support std::string all throughout the library.
I'm sure you can find ways around these (I'd say) trivial problems with some bits of imagination ;-) I can offer a detailed solution, but I don't want to spoil the fun :-P
LOL :) Yeah, I'll try to figure something out. I'll get some help from the developers list too, some people there have already been asking for a way to sidestep the long compile-time requirements and have a built-library non-header-only option. :D
Hesitation is your main obstacle, I would say.
Yep. I'll give it a go one of these days. Thanks again! :) -- Dean Michael Berris deanberris.com