annotate packages/language/cxx/ustl/current/tests/bvt15.cpp @ 3292:7f8e529b4d82 default tip

Fix FREESCALE_EDMA_NBYTES_MLOFFYES_MLOFF() so it works with negative offsets.
author vae
date Wed, 29 Apr 2015 23:31:48 +0000
parents 4885e0722884
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
1 // This file is part of the uSTL library, an STL implementation.
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
2 //
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
3 // Copyright (c) 2005 by Mike Sharov <msharov@users.sourceforge.net>
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
4 // This file is free software, distributed under the MIT License.
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
5
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
6 #include "stdtest.h"
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
7
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
8 typedef multimap<int,string> empmap_t;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
9 typedef empmap_t::const_iterator citer_t;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
10
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
11 void PrintEntries (citer_t first, citer_t last)
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
12 {
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
13 for (citer_t i = first; i < last; ++ i)
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
14 cout << i->second << "\t- $" << i->first << endl;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
15 }
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
16
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
17 inline void PrintEntries (const empmap_t& m) { PrintEntries (m.begin(), m.end()); }
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
18
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
19 void TestMultiMap (void)
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
20 {
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
21 empmap_t employees;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
22 employees.insert (make_pair (27000, string("Dave")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
23 employees.insert (make_pair (27000, string("Jim")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
24 employees.insert (make_pair (99000, string("BigBoss")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
25 employees.insert (make_pair (47000, string("Gail")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
26 employees.insert (make_pair (15000, string("Dumb")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
27 employees.insert (make_pair (47000, string("Barbara")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
28 employees.insert (make_pair (47000, string("Mary")));
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
29
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
30 cout << "As-inserted listing:\n";
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
31 PrintEntries (employees);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
32
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
33 cout << "Alphabetical listing:\n";
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
34 sort (employees);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
35 PrintEntries (employees);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
36
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
37 empmap_t::range_t middles = employees.equal_range (47000);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
38 cout << "Employees making $" << middles.first->first << ":";
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
39 empmap_t::const_iterator i;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
40 for (i = middles.first; i < middles.second; ++ i)
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
41 cout << " " << i->second;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
42 cout << endl;
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
43
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
44 cout << employees.find(27000)->second << " makes $27000\n";
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
45
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
46 cout << "There are " << employees.count (27000) << " low-paid employees\n";
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
47
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
48 cout << "Firing all low-paid employees:\n";
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
49 employees.erase (27000);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
50 PrintEntries (employees);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
51
3152
4885e0722884 * include/*:
sergeig
parents: 2904
diff changeset
52 cout << "Firing dumb employees:\n";
2904
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
53 employees.erase (employees.begin(), employees.begin() + 1);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
54 PrintEntries (employees);
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
55 }
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
56
88af52c64ce4 * ecos.db: Add uSTL library package record.
jld
parents:
diff changeset
57 StdBvtMain (TestMultiMap)