diff options
Diffstat (limited to 'vendor/bandit/bandit/skip_policies')
5 files changed, 97 insertions, 0 deletions
diff --git a/vendor/bandit/bandit/skip_policies/always_include_policy.h b/vendor/bandit/bandit/skip_policies/always_include_policy.h new file mode 100644 index 00000000..2e978308 --- /dev/null +++ b/vendor/bandit/bandit/skip_policies/always_include_policy.h @@ -0,0 +1,16 @@ +#ifndef BANDIT_ALWAYS_INCLUDE_POLICY_H +#define BANDIT_ALWAYS_INCLUDE_POLICY_H + +namespace bandit { namespace detail { + + struct always_include_policy : public skip_policy + { + bool should_skip(const char*) const + { + return false; + } + }; + +}} + +#endif diff --git a/vendor/bandit/bandit/skip_policies/always_skip_policy.h b/vendor/bandit/bandit/skip_policies/always_skip_policy.h new file mode 100644 index 00000000..9d6a4bfc --- /dev/null +++ b/vendor/bandit/bandit/skip_policies/always_skip_policy.h @@ -0,0 +1,15 @@ +#ifndef BANDIT_ALWAYS_SKIP_POLICY_H +#define BANDIT_ALWAYS_SKIP_POLICY_H + +namespace bandit { namespace detail { + + struct always_skip_policy : public skip_policy + { + bool should_skip(const char*) const + { + return true; + } + }; +}} + +#endif diff --git a/vendor/bandit/bandit/skip_policies/name_contains_skip_policy.h b/vendor/bandit/bandit/skip_policies/name_contains_skip_policy.h new file mode 100644 index 00000000..da727c3d --- /dev/null +++ b/vendor/bandit/bandit/skip_policies/name_contains_skip_policy.h @@ -0,0 +1,28 @@ +#ifndef BANDIT_NAME_CONTAINS_SKIP_POLICY_H +#define BANDIT_NAME_CONTAINS_SKIP_POLICY_H + +namespace bandit { namespace detail { + struct name_contains_skip_policy : public skip_policy + { + name_contains_skip_policy(const char* pattern) + : pattern_(pattern) + {} + + bool should_skip(const char* name) const + { + if(pattern_.size() == 0) + { + return false; + } + + std::string n(name); + bool skip = n.find(pattern_) != std::string::npos; + return skip; + } + + private: + const std::string pattern_; + }; +}} + +#endif diff --git a/vendor/bandit/bandit/skip_policies/skip_policies.h b/vendor/bandit/bandit/skip_policies/skip_policies.h new file mode 100644 index 00000000..f3fbfbfd --- /dev/null +++ b/vendor/bandit/bandit/skip_policies/skip_policies.h @@ -0,0 +1,9 @@ +#ifndef BANDIT_SKIP_POLICIES +#define BANDIT_SKIP_POLICIES + +#include <bandit/skip_policies/skip_policy.h> +#include <bandit/skip_policies/always_include_policy.h> +#include <bandit/skip_policies/always_skip_policy.h> +#include <bandit/skip_policies/name_contains_skip_policy.h> + +#endif diff --git a/vendor/bandit/bandit/skip_policies/skip_policy.h b/vendor/bandit/bandit/skip_policies/skip_policy.h new file mode 100644 index 00000000..ca606dfb --- /dev/null +++ b/vendor/bandit/bandit/skip_policies/skip_policy.h @@ -0,0 +1,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 |