Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-10-04 14:06:24


From: "Beman Dawes" <bdawes_at_[hidden]>
> My reading of the rules is that if a standard library header requires a
> definition of a type (presumably because it needs a complete type), the
> appropriate standard library header has to be included by the
> implementation. But if only a declaration is required (because the usage
> is such an incomplete type is OK), the full header doesn't have to be
> included.

I think that the rules are even stricter than that. When a standard header
uses std::string (as a complete type), for example, this most probably
means that std::string has been defined (although I don't think that even
that is guaranteed. ;-) )

However this doesn't mean that <string> has been included, or that the
definitions of the templated std::string members are visible.

Mostly academic, of course.

--
Peter Dimov
Multi Media Ltd.

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