Boost logo

Boost :

Subject: Re: [boost] [contract] concepts: pseudo-signatures vs. usage patterns
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2012-10-14 04:32:18

On Sat, Oct 13, 2012 at 10:23 PM, Matt Calabrese <rivorus_at_[hidden]> wrote:
> On Sat, Oct 13, 2012 at 9:30 PM, Lorenzo Caminiti <lorcaminiti_at_[hidden]>wrote:
>> Does it consistently work on MSVC?
> I decided early on to not bother trying to support MSVC, at least for the
> time being.

Well, that simplifies things :) but it removes a large set of users :(

> Not only does its broken preprocessor mean I'd have to make a
> lot of workarounds,

Boost.Preprocessor should already impl most of the workarounds needed.
Some other workarounds (not too many) will be needed in Boost.Generic
for empty (e.g., ( void ) instead of ( ) ) and to ensure proper macro
expansion order (usually PP_EXPAND or similar but re-impl because of
reentrancy). That's at least my experience with supporting both MSVC
and GCC for Boost.Contract.

> but it also doesn't support some of the language
> features I use to emulate N2914 concepts (this may have changed a little
> since last year, but I have a feeling not by much).

This is unfortunate because again, a large number of users have to use
MSVC... what were the MSVC issues that caused the Boost.Generic
concept emulation code not to work (pp a side)?


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