C++ Logo

std-proposals

Advanced search

Extending std::bitset

From: ramy koudsi <rkoudsi1_at_[hidden]>
Date: Thu, 12 Mar 2020 01:49:42 -0400
Hi,
 
std::bitset does not have a size limit, however it has an initialization size limit. Bitsets cannot currently be initialized with anything bigger than a long long int.
To remove this limitation I propose adding another constructor that accepts a std::string object.
I see its use like:
std::bitset<80> bigbs(“FFFF95D3FFFFAC27FFFF”);

The example above uses hex strings, but can easily be changed to accept strings of any base by adding another constructor accepting a string and an argument showing the base.
std::bitset<12> littlebs(“AFD”, 16);
 
In addition, a member function to_string(int base) would be nice.
std::string littlestr = littlebs.to_string(16);
// littlestr is “AFD”

I wanted to hear your thoughts about this. Has anyone thought of this and come up with a better solution?
 
Thank you
 
Ramy

Received on 2020-03-12 00:52:31