[LLVMdev] name collision - llvm::tie and boost::tie
Vladimir Prus
ghost at cs.msu.su
Thu Sep 22 23:26:18 PDT 2005
On Thursday 22 September 2005 19:12, Chris Lattner wrote:
> On Thu, 22 Sep 2005, Tzu-Chien Chiu wrote:
> > On 22/09/05, Bill Wendling <isanbard at gmail.com> wrote:
> >> Couldn't you state the explicit namespaces. So not using "using
> >> namespace llvm" and instead prefix all calls with "llvm::"?
> >
> > The header files in boost do not use fully-qualified tie(). I probably
> > should not modify them. But my .cpp file #include them.
>
> That should be fine if they are in a namespace boost {}.
>
> > I hope I could "using namespace" boost and llvm in .cpp file, because
> > it's tedious to use fully-qualified identifiers in boost and llvm
> > namespace.
>
> Add:
>
> using boost::somethingyoucareabout;
> using boost::somethingelseyoucareabout;
> using namespace llvm;
>
> Or whatever you prefer. This way you only import the symbols you want.
In fact, I believe that
using namespace llvm;
using namespace boost;
using boost::tie;
should resove the problem witout needed to explicitly nominate all boost names
you use. Except that this does not work on global scope, but only in
namespace:
namespace Tzu_Chien_Chiu
{
using namespace llvm;
using namespace boost;
using boost::tie;
void func() { // Use 'tie'. }
}
You can see "The C++ programming language", section C.10 for details.
- Volodya
More information about the llvm-dev
mailing list