-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(usint words) :
- size(words),
- pos(0),
- bits(DATA_BITS),
- item_bits(1),
- items(0),
- current(0),
- free_buffer(true)
-{
- this->data = new Data[words];
- memset(this->data, 0, words * sizeof(Data));
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(usint _items, usint item_size) :
- pos(0),
- bits(DATA_BITS),
- item_bits(item_size),
- items(_items),
- current(0),
- free_buffer(true)
-{
- this->size = bitsToData(items * item_size);
- this->data = new Data[this->size];
- memset(this->data, 0, this->size * sizeof(Data));
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(std::ifstream& file, usint words) :
- size(words),
- pos(0),
- bits(DATA_BITS),
- item_bits(1),
- items(0),
- current(0),
- free_buffer(true)
-{
- this->data = new Data[words];
- memset(this->data, 0, words * sizeof(Data));
- file.read((char*)this->data, words * sizeof(Data));
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(std::ifstream& file, usint _items, usint item_size) :
- size(BITS_TO_WORDS(_items * item_size)),
- pos(0),
- bits(DATA_BITS),
- item_bits(item_size),
- items(_items),
- current(0),
- free_buffer(true)
-{
- this->data = new Data[this->size];
- memset(this->data, 0, this->size * sizeof(Data));
- file.read((char*)this->data, this->size * sizeof(Data));
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(std::FILE* file, usint _items, usint item_size) :
- size(BITS_TO_WORDS(_items * item_size)),
- pos(0),
- bits(DATA_BITS),
- item_bits(item_size),
- items(_items),
- current(0),
- free_buffer(true)
-{
- this->data = new Data[this->size];
- memset(this->data, 0, this->size * sizeof(Data));
- std::fread(this->data, sizeof(Data), this->size, file);
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(Data* buffer, usint words) :
- size(words),
- pos(0),
- bits(DATA_BITS),
- item_bits(1),
- items(0),
- current(0),
- free_buffer(false)
-{
- this->data = buffer;
-}
-
-template<class Data>
-GenericBitBuffer<Data>::GenericBitBuffer(Data* buffer, usint _items, usint item_size) :
- size(BITS_TO_WORDS(_items * item_size)),
- pos(0),
- bits(DATA_BITS),
- item_bits(item_size),
- items(_items),
- current(0),
- free_buffer(false)
-{
- this->data = buffer;
-}