Modernized GAlib  3.0.0 current
GAMask.h
1 /* ----------------------------------------------------------------------------
2  mbwall 19apr95
3  Copyright (c) 1995 Massachusetts Institute of Technology
4  all rights reserved
5 ---------------------------------------------------------------------------- */
6 
7 #pragma once
8 
9 #include <vector>
10 
14 class GAMask
15 {
16 public:
17  void clear()
18  {
19  _mask.assign(_mask.size(), 0);
20  }
21  int size() const { return _mask.size(); }
22  int size(unsigned int s)
23  {
24  if (s > _mask.size())
25  {
26  _mask.assign(s, 0);
27  }
28  return _mask.size();
29  }
30  char mask(unsigned int i) const { return _mask.at(i); }
31  char& mask(unsigned int i) { return _mask.at(i); }
32  char operator[](unsigned int i) const { return _mask.at(i); }
33  char& operator[](unsigned int i) { return _mask.at(i); }
34 
35 protected:
36  // TODO check, if using vector<bool> is feasible
37  std::vector<char> _mask;
38 };
GAMask.
Definition: GAMask.h:15