Boost logo

Boost :

From: jbandela_at_[hidden]
Date: 2001-09-06 14:23:37


I have put a new version of token_functions in the boost cvs. The new
version should fix these warnings.

Regards,

John R. Bandela

-- In boost_at_y..., ChrisHines_at_m... wrote:
> I am just getting started using the tokenizer library. First I'd
> like to compliment John Bandela on this nice library. I had started
> a similar project, but luckily I thought to check boost before I got
> too far into it and was pleased to find a library that was exactly
> what I had in mind.
>
> I get warnings compiling the following program using MSVC (v6.0
SP5).
>
> #include <string>
> #include <iostream>
> #include <boost/tokenizer.hpp>
>
> int
> main(int argc, char* argv[])
> {
> std::string t = "Hello World!, This is awesome code.";
> boost::tokenizer<> tok(t);
> std::vector< std::string > words;
> std::copy(tok.begin(), tok.end(), std::back_inserter(words));
>
> std::vector< std::string >::const_iterator it = words.begin();
> while (it != words.end())
> {
> std::cout << *it++ << std::endl;
> }
>
> return 0;
> }
>
>
> The warnings I get are:
>
> c:\myprojects\boost_1_24_0\boost\token_functions.hpp(256) : warning
> C4800: 'const char *' : forcing value to bool 'true' or 'false'
> (performance warning)
> c:\myprojects\boost_1_24_0\boost\token_functions.hpp(251) :
> while compiling class-template member function '__thiscall
> boost::char_delimiters_separator<char,struct std::char_traits<char>
> >::boost::char_delimiters_separator<char,struct std::c
> har_traits<char> >(bool,const char *,const char *)'
> c:\myprojects\boost_1_24_0\boost\token_functions.hpp(256) : warning
> C4800: 'const char *' : forcing value to bool 'true' or 'false'
> (performance warning)
> c:\myprojects\boost_1_24_0\boost\token_functions.hpp(251) :
> while compiling class-template member function '__thiscall
> boost::char_delimiters_separator<char,struct std::char_traits<char>
> >::boost::char_delimiters_separator<char,struct std::c
> har_traits<char> >(bool,const char *,const char *)'
>
> These warning can be eliminated by making the following changes in
> char_delimiters_separator.
>
> Change:
>
> explicit char_delimiters_separator(bool return_delims = false,
> const Char * returnable = 0,const Char * nonreturnable = 0)
>
:nonreturnable_(nonreturnable?nonreturnable:string_type().c_str()),
> returnable_(returnable?returnable:string_type().c_str()),
> no_ispunct_(returnable),no_isspace_(nonreturnable),
> return_delims_(return_delims){}
>
> to:
>
> explicit char_delimiters_separator(bool return_delims = false,
> const Char * returnable = 0,const Char * nonreturnable = 0)
>
:nonreturnable_(nonreturnable?nonreturnable:string_type().c_str()),
> returnable_(returnable?returnable:string_type().c_str()),
> no_ispunct_(returnable != 0),no_isspace_(nonreturnable != 0),
> return_delims_(return_delims){}
>
>
> This is my first time making a "bug" report to the boost effort. I
> appologize in advance if I've broken any group protocols by posting
> the information to this mailing list. I'd like to know if there is
a
> more appropriate forum or method.
>
> Chris Hines


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