Boost logo

Boost :

Subject: Re: [boost] [system][chrono] header-only libs
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2011-01-02 12:24:38

----- Original Message -----
From: "vicente.botet" <vicente.botet_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Sunday, October 17, 2010 10:37 PM
Subject: Re: [boost] [system][chrono] header-only libs

> ----- Original Message -----
> From: "Marsh Ray" <marsh_at_[hidden]>
> To: <boost_at_[hidden]>
> Cc: "Anthony Williams" <anthony.ajw_at_[hidden]>
> Sent: Friday, October 15, 2010 12:07 AM
> Subject: Re: [boost] [system][chrono] header-only libs
>> On 10/14/2010 01:53 AM, Anthony Williams wrote:
>>> "vicente.botet"<vicente.botet_at_[hidden]> writes:
>>>> As there are quite a lot of files that includes some parts of
>>>> <windows.h> some of them include the same declarations. I was
>>>> wondering if we can not add a boost/detail/windows.hpp> file that will
>>>> declare whatever is needed in Boost. Is this a good or a bad idea?
>>> I think that's a bad idea, as lots of libraries will need to touch it,
>>> and it will end up getting big and bloated like<windows.h>. A
>>> boost/details/windows directory with a lot of special-purpose files
>>> would be better.
>> If it gets too big you can split it into separate files later. I
>> wouldn't worry about it unless it starts to become a problem.
> Hi,
> I have started to define some files that allows to build Boost.Chrono and Boost.System without including <windows.h> file.
> basic_types.hpp // contain the basic types
> error_handling.hpp // error handling related
> time.hpp // time related
> process.hpp // process related
> thread.hpp // thread related
> The file name follows the naming of the main sections in
> The user need to define BOOST_USE_WINDOWS_H if s/he prefers to use the <windows.h> file.
> These files should be modified and surely add new ones in order to provide everything the Boost lib needs.
> You can see them in the sandbox
> I have started to write some test that checks if the layout is the same (see
> Where these kind of test should be placed?
> Anthony please, could you help me to fix this
> // @FIXME Which condition must be tested
> // #if !defined(_M_IX86)
> typedef __int64 LONGLONG_;
> // #else
> // typedef double LONGLONG_;
> // #endif
> If I uncomment the commented lines, I get an run time error in my machine AMD Athlon 62x2 Dual.
> I have reached to make Boost.System and Boost.Chrono header_only libs. The user needs to define BOOST_SYSTEM_INLINED and BOOST_CHRONO_INLINED respectively, but maybe a better name could be BOOST_SYSTEM_HEADER_ONLY and BOOST_CHRONO_HEADER_ONLY.
> You can see them in the sandbox
> and
> With this little change every thing works now. I guess it is too late to merge these changes on the release branch, but at least the chage in the cygwin condition should be worth.
> Anyway, please let me know if this is the correct way to go and if this windows files could be incorporated in Boost.
> Best,
> Vicente


I would like to know if you are yet interesteed on the header only version for Boost.System.


Boost list run by bdawes at, gregod at, cpdaniel at, john at