Boost logo

Boost Users :

Subject: Re: [Boost-users] Can not compile a program that uses typeof package by gcc?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-10-22 15:21:16


Peng Yu wrote:
>> A generic multiply_traits is not tied to any specific type.
>> You can always put it in a detail namespace.
> Suppose everything in B of my original code is from a library called
> B. Other codes are for the use of library B.
> Do you mean that all multiply_traits shall be defined in a namespace
> such as B::detail?

Yes. In template libraries you often need namespace scope helper
classes and functions that should not be visible to the user.

> When new classes X1, X2, ... are defined, I need to define the
> corresponding multiply_traits in B::detail. If the library B (with
> namespace B) is designed such that nothing is defined in namespace
> B::detail, then the users can define whatever they want in B::detail,
> as there would be no conflicting between their code and the library
> code, right?

They could, in that the language does not forbid it,
but I would consider it a bad idea to put user code
in a namespace nested within a library's namespace.

In Christ,
Steven Watanabe

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at