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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#include <iostream>
#include "defs.hh"
#include "region.hh"
using namespace std;
bool
operator== (region_t const & a, region_t const & b)
{
return
a.extent == b.extent and
all (all (a.outer_boundaries == b.outer_boundaries)) and
all (all (a.refinement_boundaries == b.refinement_boundaries)) and
a.map == b.map and
a.processor == b.processor;
}
istream &
operator>> (istream & is, region_t & reg)
{
skipws (is);
consume (is, "region_t");
skipws (is);
consume (is, '(');
skipws (is);
consume (is, "extent");
skipws (is);
consume (is, '=');
is >> reg.extent;
skipws (is);
consume (is, ',');
skipws (is);
consume (is, "outer_boundaries");
skipws (is);
consume (is, '=');
is >> reg.outer_boundaries;
skipws (is);
consume (is, ',');
skipws (is);
consume (is, "refinement_boundaries");
skipws (is);
consume (is, '=');
is >> reg.refinement_boundaries;
skipws (is);
consume (is, ',');
skipws (is);
consume (is, "map");
skipws (is);
consume (is, '=');
is >> reg.map;
skipws (is);
consume (is, ',');
skipws (is);
consume (is, "processor");
skipws (is);
consume (is, '=');
is >> reg.processor;
skipws (is);
consume (is, ')');
return is;
}
ostream &
operator<< (ostream & os, region_t const & reg)
{
os << "region_t("
<< "extent=" << reg.extent << ","
<< "outer_boundaries=" << reg.outer_boundaries << ","
<< "refinement_boundaries=" << reg.refinement_boundaries << ","
<< "map=" << reg.map << ","
<< "processor=" << reg.processor << ")";
return os;
}
|