|
Boost Users : |
Subject: Re: [Boost-users] [mpl]... is there an mpl::string
From: Noah Roberts (roberts.noah_at_[hidden])
Date: 2009-04-08 17:24:15
Eric Niebler wrote:
> Noah Roberts wrote:
>> Eric Niebler wrote:
>>>>>> Andy Stevenson wrote:
>>>>>>>
>>>>>>> I recall some discussion of there being an mpl::string
>>>>>>> template..... Can't see it in the mpl library. Is it elsewhere?
>>>
>>> It has been added to trunk as of revision 52208:
>>>
>>> https://svn.boost.org/trac/boost/changeset/52208
>>>
>>> No doubt the regression tests will reveal portability problems. Once
>>> they have been worked out, we can move this to release.
>>
>> Visual Studio 2005 hates it.
>
> <snip>
>
> Is that msvc-7.1? If so, I have already fixed the problem in changeset
> 52241. You can see that the string tests are passing for msvc-7.1, -8.0
> and -9.0 by looking at the regression results.
No, it's msvc-8.0
Regression results aside, this doesn't compile:
#include <iostream>
#include <boost/mpl/at.hpp>
#include <boost/mpl/int.hpp>
#include <boost/mpl/string.hpp>
int main()
{
typedef boost::mpl::string<'hell', 'o wo', 'rld!'> str;
std::cout << boost::mpl::at<str, boost::mpl::int_<0> >::value <<
std::endl;
std::cout << str::c_str << std::endl;
std::cin.get();
}
Again, I simply copied char.hpp, char_fwd.hpp, and string.hpp into boost
1.37
It could be that it's because I'm not grabbing the entire boost tree
from svn but since I can replicate the problem with a basic program
that's using the same techniques you are, I really doubt that.
Looking deeper, you need to change:
#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
to:
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
Alternatively, you could just keep telling me it's working and I'll go
away. I'm not loaded with a lot of spare time either.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net