Boost logo

Boost Users :

Subject: Re: [Boost-users] [netlib] throwing exceptions with http_client.cpp
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2010-11-19 06:51:51


On Fri, Nov 19, 2010 at 4:14 PM, Joel de Guzman
<joel_at_[hidden]> wrote:
> 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

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net