From 8bf906313155a1a53799b8b435f20601704c9442 Mon Sep 17 00:00:00 2001 From: "susumu.yata" Date: Mon, 17 Nov 2014 20:32:08 +0900 Subject: [PATCH] Explicitly define destructors of Expression nodes. --- lib/grnxx/impl/expression.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/grnxx/impl/expression.cpp b/lib/grnxx/impl/expression.cpp index 79ba3ed..4d5663b 100644 --- a/lib/grnxx/impl/expression.cpp +++ b/lib/grnxx/impl/expression.cpp @@ -246,6 +246,7 @@ class ConstantNode : public TypedNode { value_() { value_.assign(value.data(), value.size().value()); } + ~ConstantNode() = default; NodeType node_type() const { return CONSTANT_NODE; @@ -276,6 +277,7 @@ class ConstantNode> : public TypedNode> { value_[i] = value[i]; } } + ~ConstantNode() = default; NodeType node_type() const { return CONSTANT_NODE; @@ -814,6 +816,7 @@ class LogicalOrNode : public BinaryNode { LogicalOrNode(std::unique_ptr &&arg1, std::unique_ptr &&arg2) : BinaryNode(std::move(arg1), std::move(arg2)), temp_records_() {} + ~LogicalOrNode() = default; void filter(ArrayCRef input_records, ArrayRef *output_records); @@ -913,6 +916,7 @@ class GenericBinaryNode : public BinaryNode { GenericBinaryNode(std::unique_ptr &&arg1, std::unique_ptr &&arg2) : BinaryNode(std::move(arg1), std::move(arg2)), operator_() {} + ~GenericBinaryNode() = default; void evaluate(ArrayCRef records, ArrayRef results); @@ -941,6 +945,7 @@ class GenericBinaryNode : public BinaryNode { GenericBinaryNode(std::unique_ptr &&arg1, std::unique_ptr &&arg2) : BinaryNode(std::move(arg1), std::move(arg2)), operator_() {} + ~GenericBinaryNode() = default; void filter(ArrayCRef input_records, ArrayRef *output_records); @@ -989,6 +994,7 @@ class GenericBinaryNode : public BinaryNode { GenericBinaryNode(std::unique_ptr &&arg1, std::unique_ptr &&arg2) : BinaryNode(std::move(arg1), std::move(arg2)), operator_() {} + ~GenericBinaryNode() = default; void adjust(ArrayRef records); void evaluate(ArrayCRef records, ArrayRef results); @@ -1240,6 +1246,7 @@ class DereferenceNode : public BinaryNode { std::unique_ptr &&arg2) : BinaryNode(std::move(arg1), std::move(arg2)), temp_records_() {} + ~DereferenceNode() = default; const Table *reference_table() const { return this->arg1_->reference_table(); @@ -1281,6 +1288,7 @@ class VectorDereferenceNode : public BinaryNode, Vector, T> { temp_records_(), result_pools_(), block_size_(options.block_size) {} + ~VectorDereferenceNode() = default; const Table *reference_table() const { return this->arg1_->reference_table();