22
18
// open phonebook file
23
SortedPhonebook pb((string)"spb-copy.pb", false);
19
gsmlib::SortedPhonebook pb(std::string("spb-copy.pb"), false);
25
21
// print all entries
26
cout << "Entries in pbs-copy.pb:" << endl;
27
for (SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
28
cout << " Text: " << i->text()
29
<< " Telephone: " << i->telephone() << endl;
22
std::cout << "Entries in pbs-copy.pb:" << std::endl;
23
for (gsmlib::SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
24
std::cout << " Text: " << i->text()
25
<< " Telephone: " << i->telephone() << std::endl;
31
27
// remove all entries with telephone == "0815"
32
cout << "Removing entries with telephone == 0815" << endl;
33
pb.setSortOrder(ByTelephone);
28
std::cout << "Removing entries with telephone == 0815" << std::endl;
29
pb.setSortOrder(gsmlib::ByTelephone);
31
std::string s = "0815";
38
cout << "Entries in pbs-copy.pb<2>:" << endl;
39
for (SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
40
cout << " Text: " << i->text()
41
<< " Telephone: " << i->telephone() << endl;
34
std::cout << "Entries in pbs-copy.pb<2>:" << std::endl;
35
for (gsmlib::SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
36
std::cout << " Text: " << i->text()
37
<< " Telephone: " << i->telephone() << std::endl;
43
39
// insert some entries
44
cout << "Inserting some entries" << endl;
45
pb.insert(PhonebookEntryBase("08152", "new line with \r continued"));
46
pb.insert(PhonebookEntryBase("41598254", "Hans-Dieter Schmidt"));
47
pb.insert(PhonebookEntryBase("34058", "Hans-Dieter|Hofmann"));
40
std::cout << "Inserting some entries" << std::endl;
41
pb.insert(gsmlib::PhonebookEntryBase("08152", "new line with \r continued"));
42
pb.insert(gsmlib::PhonebookEntryBase("41598254", "Hans-Dieter Schmidt"));
43
pb.insert(gsmlib::PhonebookEntryBase("34058", "Hans-Dieter|Hofmann"));
49
pb.setSortOrder(ByText);
50
cout << "Entries in pbs-copy.pb<3>:" << endl;
51
for (SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
52
cout << " Text: " << i->text()
53
<< " Telephone: " << i->telephone() << endl;
45
pb.setSortOrder(gsmlib::ByText);
46
std::cout << "Entries in pbs-copy.pb<3>:" << std::endl;
47
for (gsmlib::SortedPhonebook::iterator i = pb.begin(); i != pb.end(); ++i)
48
std::cout << " Text: " << i->text()
49
<< " Telephone: " << i->telephone() << std::endl;
55
51
// test erasing all "Hans-Dieter Schmidt" entries
56
cout << "Erasing all Hans-Dieter Schmidt entries" << endl;
52
std::cout << "Erasing all Hans-Dieter Schmidt entries" << std::endl;
57
53
s = "Hans-Dieter Schmidt";
58
pair<SortedPhonebook::iterator, SortedPhonebook::iterator> range =
54
std::pair<gsmlib::SortedPhonebook::iterator, gsmlib::SortedPhonebook::iterator> range =
60
cout << "About to erase:" << endl;
61
for (SortedPhonebook::iterator i = range.first; i != range.second; ++i)
62
cout << " Text: " << i->text()
63
<< " Telephone: " << i->telephone() << endl;
56
std::cout << "About to erase:" << std::endl;
57
for (gsmlib::SortedPhonebook::iterator i = range.first; i != range.second; ++i)
58
std::cout << " Text: " << i->text()
59
<< " Telephone: " << i->telephone() << std::endl;
65
61
pb.erase(range.first, range.second);
67
63
// write back to file
68
cout << "Writing back to file" << endl;
64
std::cout << "Writing back to file" << std::endl;
71
67
// tests the NoCopy class
72
68
//SortedPhonebook pb2("spb.pb");
75
catch (GsmException &ge)
71
catch (gsmlib::GsmException &ge)
77
cerr << "GsmException '" << ge.what() << "'" << endl;
73
std::cerr << "GsmException '" << ge.what() << "'" << std::endl;