diff --git a/hoot-core/src/main/cpp/hoot/core/criterion/ArbitraryCriterion.h b/hoot-core/src/main/cpp/hoot/core/criterion/ArbitraryCriterion.h
index 97f16e1..1bc7930 100644
--- a/hoot-core/src/main/cpp/hoot/core/criterion/ArbitraryCriterion.h
+++ b/hoot-core/src/main/cpp/hoot/core/criterion/ArbitraryCriterion.h
@@ -48,14 +48,10 @@ public:
static std::string className() { return "hoot::ArbitraryCriterion"; }
explicit ArbitraryCriterion(std::function<bool (ConstElementPtr e)> f)
- {
- _f = f;
- }
-
+ : _f(f) { }
explicit ArbitraryCriterion(std::function<bool (const std::shared_ptr<const Element> &e)> f)
- {
- _f = f;
- }
+ : _f(f) { }
+ virtual ~ArbitraryCriterion() = default;
virtual bool isSatisfied(const std::shared_ptr<const Element>& e) const
{