summaryrefslogtreecommitdiff
path: root/vendor/bandit/bandit/skip_policies/skip_policy.h
blob: ca606dfbe9b6d75de009e0cdcb7b20c2f49c8ad2 (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 BANDIT_SKIP_POLICY_H
#define BANDIT_SKIP_POLICY_H

namespace bandit {

  struct skip_policy
  {
    virtual bool should_skip(const char* name) const = 0;
  };
  typedef std::unique_ptr<skip_policy> skip_policy_ptr;

  namespace detail {

    inline skip_policy& registered_skip_policy(skip_policy* policy = NULL)
    {
      static struct skip_policy* policy_;

      if(policy)
      {
        policy_ = policy;
      }

      return *policy_;
    }
  }

}

#endif