Date: Tue, 11 Feb 2025 17:22:58 +0000
No.
This list doesn't have veto power.
You submit the paper to the chair and the right body will pick it up for review.
A panel then decides it's fitness schedule meetings and so forth.
This mailing list is solely for the purpose of gathering feedback without prejudice to the actual fitness of the paper.
________________________________
From: Javier Estrada <iphone.javier.estrada_at_[hidden]ail.com>
Sent: Tuesday, February 11, 2025 6:13:25 PM
To: Tiago Freire <tmiguelf_at_[hidden]>
Cc: std-proposals_at_[hidden] <std-proposals_at_[hidden]>
Subject: Re: [std-proposals] std::bin manipulator for integer binary input/output
Thx for the reply, Tiago.
I/O streams will be there for a long, long time, and I think retrofitting useful features is for the benefit of the language and its users.
Seems to me that the cost of adding a manipulator is very small compared to the feature proposed by Victor in the paper listed by Jonathan (https://wg21.link/p1729).
---
On an unrelated note, since this is the first time that I post a proposal, how does the process work? Who calls the shots—e.g., if I decided to write a proposal and submit it, whose approval would it have to go through? The maintainers of this list?
I would understand that this is a filter to gather input and usefulness of the proposal, but does this list have "veto" power over proposals?
Thx!
On Mon, Feb 10, 2025 at 10:12 AM Tiago Freire <tmiguelf_at_[hidden]<mailto:tmiguelf_at_[hidden]>> wrote:
I’m going to be upfront.
I may a bit biased when it comes to iostream.
I think it is irredeemably bad, there’s nothing good about it, I hate it to the core, and I rather see it replaced.
And extending it, feels to very much like a wasted effort.
I think is far more productive in the long run to have separate things that deal only with formatting (and extend that) and create an independent file or i/o interface that just does reads and writes without formatting.
From: Std-Proposals <std-proposals-bounces_at_[hidden]cpp.org<mailto:std-proposals-bounces_at_[hidden]>> On Behalf Of Javier Estrada via Std-Proposals
Sent: Monday, February 10, 2025 7:01 PM
To: std-proposals_at_[hidden]cpp.org<mailto:std-proposals_at_[hidden]>
Cc: Javier Estrada <iphone.javier.estrada_at_[hidden]<mailto:iphone.javier.estrada_at_[hidden]>>
Subject: [std-proposals] std::bin manipulator for integer binary input/output
There is a manipulator gap to read/write integer numbers in binary. As you well know, the standard manipulators are std::oct, std::dec, std::hex, which is essentially a format flag onto ios_base::basefield.
Having a dedicated manipulator would close that gap and would eliminate the current "trick" of using std::bitset. The (abbreviated) example in cppreference .com reads:
#include <bitset>
#include <iostream>
int main()
{
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in octal: " << std::oct << 42 << '\n'
<< "The number 42 in decimal: " << std::dec << 42 << '\n'
<< "The number 42 in hex: " << std::hex << 42 << '\n';
// Note: there is no I/O manipulator that sets up a stream to print out
// numbers in binary format (e.g. bin). If binary output is necessary
// the std::bitset trick can be used:
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::bitset<http://en.cppreference.com/w/cpp/utility/bitset><8>{42} << '\n';
}
With a std::bin manipulator:
#include <iostream>
#include <sstream>
int main()
{
// This yields 101010
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::<http://en.cppreference.com/w/cpp/utility/bitset>bin << 42 << '\n';
}
It would also take advantage of other manipulators, like std::setw and std::setfill:
#include <iostream>
#include <sstream>
int main()
{
// This yields 00101010
std::cout<http://en.cppreference.com/w/cpp/io/cout> << std::setw<http://en.cppreference.com/w/cpp/io/manip/setw>(8) << std::setfill('0');
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::<http://en.cppreference.com/w/cpp/utility/bitset>bin << 42 << '\n';
}
Reading binary numbers would also be addressed by the input streams.
IF this proposal is considered, I see changes in:
- A new bin flag in ios_base::basefield.
- Support for the flag in ios_base::setf, ios_base::unsetf and ios_base::flags member functions.
- Creation of the manipulator (similar to other manipulators) for the different char_traits
- Support for binary parsing for input streams
- Support for binary output for ostreams.
std::ios_base in cppreference.com<http://cppreference.com>:
https://en.cppreference.com/w/cpp/io/ios_base
Integer I/O manipulators
https://en.cppreference.com/w/cpp/io/manip/hex
Regards,
—Javier
This list doesn't have veto power.
You submit the paper to the chair and the right body will pick it up for review.
A panel then decides it's fitness schedule meetings and so forth.
This mailing list is solely for the purpose of gathering feedback without prejudice to the actual fitness of the paper.
________________________________
From: Javier Estrada <iphone.javier.estrada_at_[hidden]ail.com>
Sent: Tuesday, February 11, 2025 6:13:25 PM
To: Tiago Freire <tmiguelf_at_[hidden]>
Cc: std-proposals_at_[hidden] <std-proposals_at_[hidden]>
Subject: Re: [std-proposals] std::bin manipulator for integer binary input/output
Thx for the reply, Tiago.
I/O streams will be there for a long, long time, and I think retrofitting useful features is for the benefit of the language and its users.
Seems to me that the cost of adding a manipulator is very small compared to the feature proposed by Victor in the paper listed by Jonathan (https://wg21.link/p1729).
---
On an unrelated note, since this is the first time that I post a proposal, how does the process work? Who calls the shots—e.g., if I decided to write a proposal and submit it, whose approval would it have to go through? The maintainers of this list?
I would understand that this is a filter to gather input and usefulness of the proposal, but does this list have "veto" power over proposals?
Thx!
On Mon, Feb 10, 2025 at 10:12 AM Tiago Freire <tmiguelf_at_[hidden]<mailto:tmiguelf_at_[hidden]>> wrote:
I’m going to be upfront.
I may a bit biased when it comes to iostream.
I think it is irredeemably bad, there’s nothing good about it, I hate it to the core, and I rather see it replaced.
And extending it, feels to very much like a wasted effort.
I think is far more productive in the long run to have separate things that deal only with formatting (and extend that) and create an independent file or i/o interface that just does reads and writes without formatting.
From: Std-Proposals <std-proposals-bounces_at_[hidden]cpp.org<mailto:std-proposals-bounces_at_[hidden]>> On Behalf Of Javier Estrada via Std-Proposals
Sent: Monday, February 10, 2025 7:01 PM
To: std-proposals_at_[hidden]cpp.org<mailto:std-proposals_at_[hidden]>
Cc: Javier Estrada <iphone.javier.estrada_at_[hidden]<mailto:iphone.javier.estrada_at_[hidden]>>
Subject: [std-proposals] std::bin manipulator for integer binary input/output
There is a manipulator gap to read/write integer numbers in binary. As you well know, the standard manipulators are std::oct, std::dec, std::hex, which is essentially a format flag onto ios_base::basefield.
Having a dedicated manipulator would close that gap and would eliminate the current "trick" of using std::bitset. The (abbreviated) example in cppreference .com reads:
#include <bitset>
#include <iostream>
int main()
{
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in octal: " << std::oct << 42 << '\n'
<< "The number 42 in decimal: " << std::dec << 42 << '\n'
<< "The number 42 in hex: " << std::hex << 42 << '\n';
// Note: there is no I/O manipulator that sets up a stream to print out
// numbers in binary format (e.g. bin). If binary output is necessary
// the std::bitset trick can be used:
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::bitset<http://en.cppreference.com/w/cpp/utility/bitset><8>{42} << '\n';
}
With a std::bin manipulator:
#include <iostream>
#include <sstream>
int main()
{
// This yields 101010
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::<http://en.cppreference.com/w/cpp/utility/bitset>bin << 42 << '\n';
}
It would also take advantage of other manipulators, like std::setw and std::setfill:
#include <iostream>
#include <sstream>
int main()
{
// This yields 00101010
std::cout<http://en.cppreference.com/w/cpp/io/cout> << std::setw<http://en.cppreference.com/w/cpp/io/manip/setw>(8) << std::setfill('0');
std::cout<http://en.cppreference.com/w/cpp/io/cout> << "The number 42 in binary: " << std::<http://en.cppreference.com/w/cpp/utility/bitset>bin << 42 << '\n';
}
Reading binary numbers would also be addressed by the input streams.
IF this proposal is considered, I see changes in:
- A new bin flag in ios_base::basefield.
- Support for the flag in ios_base::setf, ios_base::unsetf and ios_base::flags member functions.
- Creation of the manipulator (similar to other manipulators) for the different char_traits
- Support for binary parsing for input streams
- Support for binary output for ostreams.
std::ios_base in cppreference.com<http://cppreference.com>:
https://en.cppreference.com/w/cpp/io/ios_base
Integer I/O manipulators
https://en.cppreference.com/w/cpp/io/manip/hex
Regards,
—Javier
Received on 2025-02-11 17:23:03