libSplash
Selection.hpp
1 
23 #ifndef SELECTION_HPP
24 #define SELECTION_HPP
25 
26 #include <string>
27 #include <sstream>
28 
29 #include "Dimensions.hpp"
30 
31 namespace splash
32 {
33 
37  class Selection
38  {
39  public:
40 
47  size(size_),
48  count(size_),
49  offset(0, 0, 0),
50  stride(1, 1, 1)
51  {
52 
53  }
54 
62  Selection(Dimensions size_, Dimensions count_, Dimensions offset_) :
63  size(size_),
64  count(count_),
65  offset(offset_),
66  stride(1, 1, 1)
67  {
68 
69  }
70 
79  Selection(Dimensions size_, Dimensions count_, Dimensions offset_, Dimensions stride_) :
80  size(size_),
81  count(count_),
82  offset(offset_),
83  stride(stride_)
84  {
85 
86  }
87 
93  void swapDims(uint32_t ndims)
94  {
95  size.swapDims(ndims);
96  count.swapDims(ndims);
97  offset.swapDims(ndims);
98  stride.swapDims(ndims);
99  }
100 
106  std::string toString(void) const
107  {
108  std::stringstream stream;
109  stream <<
110  "{size=" << size.toString() <<
111  ", count=" << count.toString() <<
112  ", offset=" << offset.toString() <<
113  ", stride=" << stride.toString() << "}";
114  return stream.str();
115  }
116 
117  Dimensions size;
118  Dimensions count;
119  Dimensions offset;
120  Dimensions stride;
121  };
122 
123 }
124 
125 #endif /* SELECTION_HPP */
std::string toString(void) const
Definition: Selection.hpp:106
std::string toString() const
Definition: Dimensions.hpp:181
Selection(Dimensions size_, Dimensions count_, Dimensions offset_)
Definition: Selection.hpp:62
void swapDims(uint32_t ndims)
Definition: Selection.hpp:93
void swapDims(uint32_t dims)
Definition: Dimensions.hpp:269
Selection(Dimensions size_, Dimensions count_, Dimensions offset_, Dimensions stride_)
Definition: Selection.hpp:79
Selection(Dimensions size_)
Definition: Selection.hpp:46