mirror of
https://github.com/encounter/Petari.git
synced 2026-03-30 11:34:15 -07:00
28 lines
729 B
Plaintext
28 lines
729 B
Plaintext
#include <msl_int_limits>
|
|
#include <cstddef>
|
|
|
|
namespace std {
|
|
template<size_t N>
|
|
class __bitset_base {
|
|
public:
|
|
__bitset_base();
|
|
__bitset_base(unsigned long);
|
|
|
|
__bitset_base& set(size_t, bool);
|
|
__bitset_base& reset(size_t);
|
|
bool test(size_t) const;
|
|
|
|
private:
|
|
static const size_t num_bits_word = __char<>::bits * sizeof(unsigned long);
|
|
static const size_t nwords_ = N;
|
|
|
|
unsigned long data_[N];
|
|
};
|
|
|
|
template<size_t N>
|
|
class bitset : private __bitset_base<N == 0 ? 1 : (N - 1) / (__char<>::bits * sizeof(unsigned long) + 1) {
|
|
typedef __bitset_base<N == 0 ? 1 : (N - 1) / (__char<>::bits * sizeof(unsigned long)) + 1> base;
|
|
|
|
|
|
}
|
|
}; |