Base Framework
testsuite/BitSet.cpp
/***************************************************************************
The Base Framework
A framework for developing platform independent applications
See COPYRIGHT.txt for details.
This framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
For the licensing terms refer to the file 'LICENSE'.
***************************************************************************/
#include <base/Application.h>
#include <base/collection/BitSet.h>
#include <base/collection/Functor.h>
#include <base/Functor.h>
#include <base/TypeInfo.h>
using namespace com::azure::dev::base;
class BitSetApplication : public Application {
private:
static const unsigned int MAJOR_VERSION = 1;
static const unsigned int MINOR_VERSION = 0;
public:
BitSetApplication()
: Application("BitSet")
{
}
void main() {
fout << getFormalName() << " version "
<< MAJOR_VERSION << '.' << MINOR_VERSION << EOL
<< "The Base Framework (Test Suite)" << EOL
<< ENDL;
BitSet bitSet(1024, false);
fout << "Size: " << bitSet.getSize() << ENDL;
bitSet[256] = !bitSet[256];
bitSet[512] = true;
{
fout << "Bits: ";
while (enu.hasNext()) {
fout << (enu.next() ? '1' : '0');
}
fout << ENDL;
}
bitSet.flip();
bitSet >>= 128 - 1;
bitSet <<= 128 - 2;
fout << "Size: " << bitSet.getSize() << ENDL;
{
bool value = false;
while (enu.hasNext()) {
enu.next() ^= value;
value = !value;
}
}
{
fout << "Bits: ";
while (enu.hasNext()) {
fout << (enu.next() ? '1' : '0');
}
fout << ENDL;
}
}
};
APPLICATION_STUB(BitSetApplication);
BitSet::getEnumerator
Enumerator getEnumerator() noexcept
Definition: BitSet.h:718
BitSet::BitSetEnumerator::hasNext
bool hasNext() const noexcept
Definition: BitSet.h:297
BitSet::BitSetEnumerator
Non-modifying enumerator of elements of a bit set.
Definition: BitSet.h:258
BitSet::BitSetReadEnumerator::hasNext
bool hasNext() const noexcept
Definition: BitSet.h:393
BitSet::BitSetReadEnumerator
Non-modifying enumerator of elements of a bit set.
Definition: BitSet.h:354
BitSet::BitSetEnumerator::next
Reference next()
Definition: BitSet.h:305
BitSet
Set of bits collection.
Definition: BitSet.h:36
BitSet::getReadEnumerator
ReadEnumerator getReadEnumerator() const noexcept
Definition: BitSet.h:730
Application
Application.
Definition: Application.h:53
BitSet::BitSetReadEnumerator::next
EnumReference next()
Definition: BitSet.h:401
BitSet::getSize
MemorySize getSize() const noexcept
Definition: BitSet.h:576
BitSet::flip
BitSet & flip() noexcept