Hi Jake

Many thanks for the reply

We just have some logs like :-

file.txt: fast_enabled: 0

and I preferred the readability of:

file.txt: fast_enabled: true

Also, good to write out configuration files as 'true', rather than '1'

Cheers, Jonny


On 20/07/2019 22:05, Jake Arkinstall wrote:
The format library has just been confirmed for C++20. It handles booleans as you require.

However, on a semantic note the strings "true" and "false" are rarely applicative to the actual meaning the bool represents, and as such the easy approach of adding it directly into a string will rarely be useful.


On Sat, 20 Jul 2019, 21:39 Jonny Grant via Std-Proposals, <std-proposals@lists.isocpp.org> wrote:
Hi Garrett

Many thanks for your reply.

Yes, I see std::boolalpha sets an I/O flag.. but seems a bit of a long way to get it into a string, I'd need to use in conjunction with std::istringstream to get a string...

I wanted to do something like this example:

Idea
std::string fmt(const std::string header, bool b)
{
    return header + " " + std::to_string(b) + " set";
}

How I would do now
As his doesn't work, I'd have it at present as:
std::string fmt(const std::string header, bool b)
{
    return header + " " + b?"true":"false" + " set";
}


Regards, Jonny


On 20/07/2019 21:21, Garrett May via Std-Proposals wrote:
std::boolalpha is already available:

int main(){
    bool const a = true;
    std::cout << std::boolalpha << a << std::endl;
}

My gut instinct here is that one is supposed to control how one wants data to be printed out, in the same way as how float/double precision is done.


On Sat, 20 Jul 2019, 21:16 Jonny Grant via Std-Proposals, <std-proposals@lists.isocpp.org> wrote:
Hello

Could std::string to_string(bool value); be added?  Currently it outputs
as a number due to the implicit conversion to int?
Feel it would have been more appropriate as "true" or "false".

http://www.cplusplus.com/reference/string/to_string/

$ g++-8 -Wall -o to_string to_string.cpp
$ ./to_string
1



// g++-8 -Wall -o to_string to_string.cpp
#include <string>
#include <iostream>
int main()
{
     const bool a = true;
     const std::string b(std::to_string(a));
     std::cout << b << std::endl;
}

Cheers, Jonny



.


--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
http://lists.isocpp.org/mailman/listinfo.cgi/std-proposals


--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
http://lists.isocpp.org/mailman/listinfo.cgi/std-proposals