Boost logo

Boost :

From: Paul Hollingsworth (boost_at_[hidden])
Date: 2000-10-05 11:32:27

Thanks Darin.
In any case, even if you could do what I suggested, it would possibly
(depending on how std::vector is implemented) induce code-bloat as you're
basically creating different "copies" of std::vector.

Paul Hollingsworth

-----Original Message-----
From: Darin Adler [mailto:darin_at_[hidden]]
Sent: Thursday, October 05, 2000 11:12 AM
To: boost_at_[hidden]
Subject: Re: [boost] Isolating dependencies in header files

on 10/5/00 8:47 AM, Paul Hollingsworth at boost_at_[hidden] wrote:

> One solution I thought might work would be:
> namespace impl {
> #include <vector>
> }
> That is, according to the ANSI/ISO standard, should you be able to use
> trick?

Absolutely not.

The specific language in the ISO standard is "A translation unit shall
include a header only outside of any external declaration or definition,
[...]" ( The code above includes the header inside a namespace

> So, are there any other cool tricks that can be brought to bear on this
> problem?

The standard is specifically designed so that including any one standard
header is allowed to pull in all the rest of the standard headers. I don't
know of any tricks to get around this for programmers who want to write
standard code, although I could imagine a compiler/library implementer
making a feature that would enforce some kind of programming rule like this.

    -- Darin

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