Boost logo

Boost :

Subject: Re: [boost] Boost.Uuid and header-only support
From: James E. King, III (jking_at_[hidden])
Date: 2017-11-04 17:47:15


On Sat, Nov 4, 2017 at 1:16 PM, Edward Diener via Boost <
boost_at_[hidden]> wrote:

> On 11/4/2017 12:57 PM, Andrey Semashev via Boost wrote:
>
>> On 11/04/17 18:40, Peter Dimov via Boost wrote:
>>
>>> Andrey Semashev wrote:
>>>
>>> The proposal to make Boost.Random header-only was rejected by Steven.
>>>>
>>>> https://github.com/boostorg/random/pull/29
>>>>
>>>
>>> This sounds like essential context that might have been worth
>>> mentioning. :-)
>>>
>>> Steven is right that we're still dependent on Boost.System, this needs
>>> to be solved somehow.
>>>
>>
>> I think, Steven was more opposed to the whole idea of header-only code,
>> regardless of implementation.
>>
>
> Steven can chime in if he wants but my interpretation was that Steven was
> rightly concerned with the idea that making Boost random header-only only
> works if the end-user is forced to use Boost system as header-only, and we
> do not want to tell the end-user what he must do.
>

Making Boost.Random header-only could still be considered an improvement,
whether or not what it depends on is header-only.
Perhaps defining BOOST_ERROR_CODE_HEADER_ONLY would allow someone to use
both libraries in a header-only environment? I'm not sure.

Given that random_device is the only implementation that uses system_error,
one could make the errors in random_device more abstract with its own
exception type, i.e. boost::random::entropy_error : public
std::runtime_error, and sever the link between the libraries, and then a
header-only implementation of random would be immediately useful...

- Jim


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk