File: test_multimap.cxx

package info (click to toggle)
insighttoolkit 3.20.1%2Bgit20120521-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 80,652 kB
  • sloc: cpp: 458,133; ansic: 196,223; fortran: 28,000; python: 3,839; tcl: 1,811; sh: 1,184; java: 583; makefile: 430; csh: 220; perl: 193; xml: 20
file content (48 lines) | stat: -rw-r--r-- 1,355 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// This is vcl/tests/test_multimap.cxx
#include <vcl_functional.h>
#include <vcl_iostream.h>
#include <vcl_map.h>

typedef vcl_multimap<int, double, vcl_less<int> > mymap;

vcl_ostream &operator<<(vcl_ostream &s, mymap::value_type const &x)
{
  return s << '(' << x.first << ',' << x.second << ')';
}

int test_multimap_main(int /*argc*/,char* /*argv*/[])
{
  mymap m;
  m.insert(mymap::value_type(0, 2.718281828459045)); // e
  m.insert(mymap::value_type(1, 3.141592653589793)); // pi
  m.insert(mymap::value_type(2, 1.414213562373095)); // sqrt(2)
  m.insert(mymap::value_type(3, 1.61803398874989)); // golden number

  mymap::iterator b = m.begin();
  mymap::iterator e = m.end();

  vcl_cout << "the whole container:" << vcl_endl;
  for (mymap::iterator p = b; p != e; ++p)
    vcl_cout << *p << vcl_endl;

  vcl_cout << "lower_bound() and upper_bound():" << vcl_endl;
  for (int k=-1; k<=4; ++k) {
    vcl_cout << "k=" << k << vcl_endl;

    mymap::iterator lo = m.lower_bound(k);
    vcl_cout << "  lo: ";
    if (lo==b) vcl_cout << "begin";
    else if (lo==e) vcl_cout << "end";
    else vcl_cout << *lo;
    vcl_cout << vcl_endl;

    mymap::iterator hi = m.upper_bound(k);
    vcl_cout << "  hi: ";
    if (hi==b) vcl_cout << "begin";
    else if (hi==e) vcl_cout << "end";
    else vcl_cout << *hi;
    vcl_cout << vcl_endl;
  }

  return 0;
}