Boost logo

Boost :

From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2001-07-19 14:51:26


I strongly support this proposal, especially as I believe it can
be used, with appropriate added comments, to provide a really useful
quick summary of documentation of the library. Many library systems,
especially IO standard! are dauntingly complex
and users need all the help they can get.

Hopefully some good examples, with such comments, will convince of
the additional documantation advantage.

Paul

Dr Paul A Bristow, hetp Chromatography
Prizet Farmhouse
Kendal, Cumbria
LA8 8AB UK
+44 1539 561830
mailto:pbristow_at_[hidden]

> -----Original Message-----
> From: Vesa Karvonen [mailto:vesa.karvonen_at_[hidden]]
> Sent: Thursday, July 19, 2001 10:43 AM
> To: boost_at_[hidden]
> Subject: [boost] Proposal: Require forward declaration header per
> library
> First of all, this is not a review comment regarding the C++ Coding Coding
> Guidelines
> (http://groups.yahoo.com/group/boost/files/coding_guidelines.html).
> This is a proposal for addition into the Boost Library Requirements and
> Guidelines (http://www.boost.org/more/lib_guide.htm).
>
> The item 1.7. of the C++ Coding Guidelines mentions using forward
> declarations
> for avoiding compile-time dependencies. I strongly agree with
> using forward
> declarations for the purpose of avoiding compile-time
> dependencies. I would
> like to see the practice of having a forward declaration header
> per library as
> a requirement or at least a strong recommendation in Boost.
>
> Forward declaration headers have two main purposes:
> - facilitate reducing compile-time dependencies
> - act as an effective form of documentation
>
>
> Proposed requirement
> ====================
>
> Every library that has forward declarable entities such as classes, must
> contain a forward declaration header, that declares the public
> interface of
> the library.
>
> A forward declaration header contains declarations of public interface
> classes, class templates, typedefs and possibly constants, and
> enumerations,
> but not function prototypes, or class definitions, unless those
> are required
> by interface declarations.
>
> A forward declaration header must not include other headers
> except possibly
> other forward declaration headers.


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