summaryrefslogtreecommitdiff
path: root/mask.h
blob: 6d4790a3b03cd6a0d71dd97cd42e82514bd9fd7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _MASK_H
#define _MASK_H

#include <string>
#include <exception>

#include "error.h"

class mask_t
{
 public:
  bool        exclude;
  std::string pattern;
  void *      regexp;

  explicit mask_t(const std::string& pattern);
  mask_t(const mask_t&);
  ~mask_t();

  bool match(const std::string& str) const;
};

class mask_error : public error {
 public:
  mask_error(const std::string& reason) throw() : error(reason) {}
  virtual ~mask_error() throw() {}
};

#endif // _MASK_H