From: Edward Diener (eldiener_at_[hidden])
Date: 2006-10-08 16:52:06
Robert Ramey wrote:
> David Abrahams wrote:
>>> Hence, adding say regex to the standard doesn't add any
>>> code to the standard.
>> I don't know what you mean by "add code to the standard."
> The standard include the implementation itself. Only the
> interface that any implemenation has to adhere to.
>>> It just certifies that anything that claims to be compatible with
>>> the C++ regex standard works as the standard says it does.
>> No, it says that any C++ implementation that claims to be standard
>> compliant contains a conforming regex implementation. There have as
>> yet been no moves toward "subsetting" of the C++ standard (other than
>> the "hosted"/"non-hosted" distinction -- look it up if you care).
>> Either an implementation provides everything the standard specifies,
>> and can therefore claim compliance, or not. There's not going to be a
>> separate "C++ regex standard."
> OK but this goes to the heart of my question.
> Suppose I start my new compiler company and I write a C++ compiler
> which correctly translate C++ language as defined by the C++ standard
> to some machine language.
> I don't know if there is any official designation for such a program
> such as "standard conformant C++ compiler" but that's what
> we'll call it here.
> Now I write the low-level code to implement things like fopen, etc
> in terms of the API of the OS it's going to run on.
> Its not a "conformant C++ implementation" because it doesn't include
> all the libraries. So, I just add STLPort and Boost libraries - which
> work with any "standard conformant C++ compiler". Now I have
> a "conformant C++ implementation". So once there exists a
> compiler which correctly implements the C++ language - the existence
> of a "conformant C++ implementation" is guarenteed.
There's nothing wrong with using STLPort as the C++ standard library, as
long as it is conformant and the particular compiler implementation is
able to use it without errors. Borland already did that in fact in the
past. However I still do not think it is "guaranteed" unless the 3rd
party C++ standard library is guaranteed to be conformant along with the
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk