История изменений
Исправление AntonI, (текущая версия) :
А что мешает на плюсах свелосипедить свой битовый массив, с продажными тяночками и блэкджеком?
class BoolArray{
std::vector<uint64_t> data;
int sz = 0;
public:
void resize(int sz_){ sz = sz_; data.resize(sz/64+bool(sz%64), 0); }
int size() const { return sz; }
bool get(int i) const { return data[i>>6]&(uint64_t(1)<<(i&0x3F)); }
void on(int i){ data[i>>6] |= uint64_t(1)<<(i&0x3F); }
void off(int i){ data[i>>6] &= ~(uint64_t(1)<<(i&0x3F)); }
bool any() const { for(uint64_t x: data){ if(x) return true; } return false; }
void clean(){ for(uint64_t &x: data) x = 0; }
void out(std::ostream &S) const { for(int i=0; i<sz; i++){ S<<(get(i)? 'y': 'n'); } S<<'='<<(any()? 'Y': 'N')<<' '; }
};
Исходная версия AntonI, :
А что мешает на плюсах свелосипедить свой битовый массив, с продажными тяночками и блэкджеком?