Base Framework
testsuite/Map.cpp
/***************************************************************************
The Base Framework (Test Suite)
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/Map.h>
using namespace com::azure::dev::base;
class MapApplication : public Application {
private:
static const unsigned int MAJOR_VERSION = 1;
static const unsigned int MINOR_VERSION = 0;
public:
MapApplication()
: Application("Map")
{
}
void main()
{
fout << getFormalName() << " version "
<< MAJOR_VERSION << '.' << MINOR_VERSION << EOL
<< "The Base Framework (Test Suite)" << EOL
<< ENDL;
fout << "Initializing map" << ENDL;
fout << "Adding associations to map ((2,2), (4,3), and (3,4))" << ENDL;
mii.add(2, 2);
mii.add(4, 3);
mii.add(3, 4);
fout << "mii: " << mii << ENDL;
fout << "size: " << mii.getSize() << ENDL;
{
fout << "Modifying enumeration of values of map (multiply by 3)" << ENDL;
while (enu.hasNext()) {
enu.next() *= 3;
}
fout << "mii: " << mii << ENDL;
}
{
fout << "Non-modifying enumeration of map (calculate sum of values)" << ENDL;
int sum = 0;
while (enu.hasNext()) {
sum += enu.next().getValue();
}
fout << "sum: " << sum << ENDL;
}
fout << "Adding associations to map ((1,6), (2,5), (4,2), and (5,1))" << ENDL;
mii.add(1, 6);
mii.add(2, 5);
mii.add(4, 2);
mii.add(5, 1);
fout << "mii: " << mii << ENDL;
fout << "Removing associations from map (4 and 3)" << ENDL;
mii.remove(4);
mii.remove(3);
fout << "mii: " << mii << ENDL;
fout << "Size: " << mii.getSize() << ENDL;
fout << "Removing all associations from the map" << ENDL;
mii.removeAll();
fout << "Size: " << mii.getSize() << ENDL;
}
};
APPLICATION_STUB(MapApplication);
Map::add
bool add(const Key &key, const Value &value)
Definition: Map.h:354
Map::ReadEnumerator::next
Reference next()
Definition: Map.h:87
Map::ValueEnumerator::next
Reference next()
Definition: Map.h:116
Map::getReadEnumerator
ReadEnumerator getReadEnumerator() const noexcept
Definition: Map.h:259
Map::getSize
MemorySize getSize() const noexcept
Definition: Map.h:227
Map::removeAll
void removeAll()
Definition: Map.h:460
Map::remove
void remove(const Key &key)
Definition: Map.h:416
Application
Application.
Definition: Application.h:53
Map::getValueEnumerator
ValueEnumerator getValueEnumerator() noexcept
Definition: Map.h:251
Map::ValueEnumerator
Modifying enumerator of values of map.
Definition: Map.h:97
Reference::getValue
TYPE * getValue() const noexcept
Definition: Reference.h:252
Map::ReadEnumerator
Non-modifying enumerator of map.
Definition: Map.h:68
Map
Map collection.
Definition: Map.h:34