0

I have a function where i use bitset.Now i need to convert it to a dynamic bitset.. but i don't know how. Can somebody help me ?

set<string> generateCandidates(set<string> ck,unsigned int k){ set<string> nk ; for (set<string>::const_iterator p = ck.begin( );p != ck.end( ); ++p){ for (set<string>::const_iterator q = ck.begin( );q != ck.end( ); ++q){ bitset<4> bs1(*p); bitset<4> bs2(*q); bs1|= bs2 ; if(bs1.count() == k){ nk.insert(bs1.to_string<char,char_traits<char>,allocator<char> >()); } } } return nk; } 

1 Answer 1

3

The difference isn't that big:

boost::dynamic_bitset<> bs1(*p); boost::dynamic_bitset<> bs2(*q); bs1 |= bs2; if(bs1.count() == k){ std::string str; boost::to_string(bs1, str); nk.insert(str); } 
Sign up to request clarification or add additional context in comments.

2 Comments

… and use dynamic_bitset instead of string. (dynamic_bitset implements operator<)
Agreed, using dynamic_bitset and converting to std::string only when neccessary would be better.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.