|
Boost : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-09-07 10:04:36
This sounds like a fine solution to me.
-Dave
----- Original Message -----
From: <jaakko.jarvi_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, September 07, 2001 8:30 AM
Subject: [boost] Re: tuples and namespaces
> > which namespaces tuple and cons must be located in. I'm hoping that
> > Jaako
> > > will do the analyis, and will either show that my concerns are
> > without
> > > foundation or will propose a solution that takes them into
> account.
>
> I created another branch 'tuples_subnamespace' where tuples are in
> tuples subnamespace. So all names are in boost::tuples, and
> implementation details in boost::tuples::detail.
>
> The following names are lifted to boost as follows:
>
> namespace boost {
> using tuples::tuple;
> using tuples::make_tuple;
> using tuples::tie;
> using tuples::get;
> }
>
> So basic usage of tuples doesn't change, the more special stuff
> however requires a namespace qualifier. Such names are:
>
> ignore, cons, null_type, element, length, access_traits
> set_open, set_close, set_delimiter.
>
> Not that the introduction of the subnamespace allows nicer names:
> tuple_element<N, T>::type is now tuples::element<N, T>::type
> tuple_length<N, T>::value is now tuples::length<N, T>::value
> tuple_access_traits<T>::xxx is now tuples::access_traits<T>::xxx
>
> Further, note that all functions, except make_tuple and tie take
> tuples or cons lists as arguments, so they can be found with koenig
> lookup. get calls have an explicitly qualified template argument,
> preventing koening lookup, and thus the using declaration.
>
> Is this a satisfactory solution? (Dave?)
>
> There is one glitch. MSVC++ 6.0 has problems with finding the get
> functions (the explicit qualification of the template argument messes
> the search up). So with MSVC++ all get calls must be qualified. E.g.
> tuples::get<N>(a); etc.
>
> Jaakko
>
> PS. The test files have been changed as well, basically the same tests
> should work but while at it, I added some more tests to
> tuple_test_bench.hpp
>
>
> Info: http://www.boost.org Unsubscribe:
<mailto:boost-unsubscribe_at_[hidden]>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk