PlasCom2  1.0
XPACC Multi-physics simluation application
IndexUtil.C
Go to the documentation of this file.
1 #include "IndexUtil.H"
2 
3 
4 namespace ix { namespace util {
5 
6  std::ostream &sizeextent::PrettyPrint(std::ostream &outStream) const
7  {
8  outStream << "[";
9  if(!empty()){
10  sizeextent::const_iterator exIt = begin();
11  while(exIt != end()){
12  outStream << exIt->first << ":"
13  << exIt->second;
14  if(++exIt != end())
15  outStream << "]x[";
16  }
17  } else {
18  outStream << "NULL";
19  }
20  outStream << "]";
21  return(outStream);
22  };
23 
24  std::ostream &operator<<(std::ostream &outStream,const ix::util::sizeextent &sizeExtent)
25  {
26  ix::util::sizeextent::const_iterator beIt = sizeExtent.begin();
27  outStream << sizeExtent.ND();
28  while(beIt != sizeExtent.end()){
29  outStream << " " << beIt->first << " " << beIt->second;
30  beIt++;
31  }
32  return(outStream);
33  }
34 
35  std::istream &operator>>(std::istream &inStream,ix::util::sizeextent &sizeExtent)
36  {
37  int nd = 0;
38  inStream >> nd;
39  int n = 0;
40  while(n++ < nd){
41  std::pair<size_t,size_t> a;
42  inStream >> a.first >> a.second;
43  sizeExtent.push_back(a);
44  }
45  sizeExtent.Sync();
46  return(inStream);
47  }
48 
49  }
50 }
size_t ND() const
Definition: IndexUtil.H:271
Defines MPI-specific parallel global and program classes.
void size_t int size_t int size_t int int int int double int int double double *void size_t int size_t int int int int int double int size_t size_t size_t double double *void size_t int size_t int size_t size_t int double int double double *void size_t size_t size_t double * a
friend std::ostream & operator<<(std::ostream &outStream, const sizeextent &sizeExtent)
Definition: IndexUtil.C:24
friend std::istream & operator>>(std::istream &inStream, sizeextent &sizeExtent)
Definition: IndexUtil.C:35
std::ostream & PrettyPrint(std::ostream &outStream) const
Definition: IndexUtil.C:6
Simple Block Structured Mesh object.
Definition: IndexUtil.H:21