11 #ifndef GUARD_CELL_SIZES_H
12 #define GUARD_CELL_SIZES_H
19 template<
unsigned Dim>
27 for (
unsigned d=0; d<
Dim; ++d)
37 for (
unsigned d=0; d<
Dim; ++d) {
46 void set_Left(
unsigned d,
unsigned *s);
52 unsigned left(
unsigned d)
const {
return Left[d]; }
67 template<
unsigned Dim>
72 for (
unsigned int d=0; d<
Dim; ++d)
78 template<
unsigned Dim>
84 for (
unsigned d=0; d<
Dim; ++d) {
85 if ( left(d) != r.
left(d) )
86 return ( left(d) < r.
left(d) );
87 if ( right(d) != r.
right(d) )
88 return ( right(d) < r.
right(d) );
94 template<
unsigned Dim>
98 for (
unsigned d=0; d<
Dim; ++d) {
99 if ( left(d) != r.
left(d) )
101 if ( right(d) != r.
right(d) )
110 template<
unsigned Dim>
std::ostream & operator<<(std::ostream &, const GuardCellSizes< Dim > &)
NDIndex< Dim > AddGuardCells(const NDIndex< Dim > &idx, const GuardCellSizes< Dim > &g)
T::PETE_Expr_t::PETE_Return_t min(const PETE_Expr< T > &expr, NDIndex< D > &loc)
unsigned left(unsigned d) const
bool operator==(const GuardCellSizes< Dim > &r) const
void set_Right(unsigned s)
void set_Left(unsigned s)
bool operator<(const GuardCellSizes< Dim > &r) const
GuardCellSizes< Dim > & operator=(const GuardCellSizes< Dim > &gc)
constexpr GuardCellSizes(const GuardCellSizes< Dim > &)=default
unsigned right(unsigned d) const