Using allElementsDo and Applicators to Iterate Over a Collection

The following example shows the use of the allElementsDo function and applicators.

//main.cpp - main file
#include <iset.h>
#include <iostream.h>
#include "person.h"   //person.h from the previous examples

typedef ISet<Person> AddressList;

ostream& operator<<(ostream& os, Person A)
{
    return (os << endl << A.GetPersonName() << " " <<
        A.GetTNumber());
}

class ListApplicator: public IConstantApplicator<Person> {
public:
    IBoolean applyTo(Person const& A)
    {
        cout << A;
        return true;
    }
};

void ListFunction(AddressList const& List)
{
    ListApplicator LA;
    List.allElementsDo (LA);
}

void main()
{
    AddressList Business;
    AddressList::Cursor myCursor(Business);
    Person A("Peter Black","714-50706");
    Person B("Carl Render","714-540321");
    Person C("Sandra Summers","x");
    Person D("Mike Summers","x");
    Person E;
    Business.add(A);
    Business.add(B);
    Business.add(C);
    Business.add(D);

    //List of all elements in the set
    ListFunction(Business);
}

This time you get the address listing using an applicator.



Introduction to the Collection Classes
Collection Characteristics
Overview of Iteration
Iteration with Cursors


Adding an Element to a Collection
Removing an Element from a Collection
Using Cursors to Locate and Access Elements
Using Cursors to Iterate Over a Collection
Cursors vs. Exception Handling
Instantiating the Collection Classes
Troubleshooting Problems while Using the Collection Class Library