www.cemf.ir
boundariesMask.hpp
Go to the documentation of this file.
1 
2 #ifndef __boundariesMask_hpp__
3 #define __boundariesMask_hpp__
4 
5 #include <array>
6 
7 namespace pFlow
8 {
9 
10 template<size_t N>
12 :
13  public std::array<bool,N>
14 {
15 public:
16 
17  boundariesMask()=default;
18 
19  boundariesMask(bool val)
20  {
21  this->fill(val);
22  }
23 
24  boundariesMask(std::initializer_list<bool> l)
25  :
26  std::array<bool,N>(l)
27  {}
28 
29  inline
30  bool allElements(bool val)
31  {
32  return std::all_of(this->begin(), this->end(), [val](bool v) { return v==val;} );
33  }
34 
35  inline
36  bool anyElement(bool val)
37  {
38  return std::any_of(this->begin(), this->end(), [val](bool v) { return v==val;} );
39  }
40 
41  inline
42  bool noElement(bool val)
43  {
44  return std::none_of(this->begin(), this->end(), [val](bool v) { return v==val;} );
45  }
46 };
47 
48 }
49 
50 #endif //__boundariesMask_hpp__
pFlow::boundariesMask::allElements
bool allElements(bool val)
Definition: boundariesMask.hpp:30
pFlow::fill
void fill(Vector< T, Allocator > &vec, const T &val)
Definition: VectorAlgorithm.hpp:44
pFlow::boundariesMask::anyElement
bool anyElement(bool val)
Definition: boundariesMask.hpp:36
pFlow
Definition: demGeometry.hpp:27
pFlow::boundariesMask::boundariesMask
boundariesMask()=default
pFlow::boundariesMask::noElement
bool noElement(bool val)
Definition: boundariesMask.hpp:42
pFlow::boundariesMask::boundariesMask
boundariesMask(std::initializer_list< bool > l)
Definition: boundariesMask.hpp:24
pFlow::boundariesMask
Definition: boundariesMask.hpp:11
pFlow::boundariesMask::boundariesMask
boundariesMask(bool val)
Definition: boundariesMask.hpp:19