diff options
Diffstat (limited to 'source/blender/functions')
-rw-r--r-- | source/blender/functions/FN_field.hh | 5 | ||||
-rw-r--r-- | source/blender/functions/intern/field.cc | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/functions/FN_field.hh b/source/blender/functions/FN_field.hh index e869927c33b..e42feac1644 100644 --- a/source/blender/functions/FN_field.hh +++ b/source/blender/functions/FN_field.hh @@ -87,8 +87,7 @@ class FieldNode { public: FieldNode(FieldNodeType node_type); - - virtual ~FieldNode() = default; + virtual ~FieldNode(); virtual const CPPType &output_cpp_type(int output_index) const = 0; @@ -230,6 +229,7 @@ class FieldOperation : public FieldNode { public: FieldOperation(std::shared_ptr<const MultiFunction> function, Vector<GField> inputs = {}); FieldOperation(const MultiFunction &function, Vector<GField> inputs = {}); + ~FieldOperation(); Span<GField> inputs() const; const MultiFunction &multi_function() const; @@ -259,6 +259,7 @@ class FieldInput : public FieldNode { public: FieldInput(const CPPType &type, std::string debug_name = ""); + ~FieldInput(); /** * Get the value of this specific input based on the given context. The returned virtual array, diff --git a/source/blender/functions/intern/field.cc b/source/blender/functions/intern/field.cc index d6b83c42294..fe3041b8602 100644 --- a/source/blender/functions/intern/field.cc +++ b/source/blender/functions/intern/field.cc @@ -571,6 +571,13 @@ bool IndexFieldInput::is_equal_to(const fn::FieldNode &other) const } /* -------------------------------------------------------------------- + * FieldNode. + */ + +/* Avoid generating the destructor in every translation unit. */ +FieldNode::~FieldNode() = default; + +/* -------------------------------------------------------------------- * FieldOperation. */ @@ -581,6 +588,9 @@ FieldOperation::FieldOperation(std::shared_ptr<const MultiFunction> function, owned_function_ = std::move(function); } +/* Avoid generating the destructor in every translation unit. */ +FieldOperation::~FieldOperation() = default; + /** * Returns the field inputs used by all the provided fields. * This tries to reuse an existing #FieldInputs whenever possible to avoid copying it. @@ -655,6 +665,9 @@ FieldInput::FieldInput(const CPPType &type, std::string debug_name) field_inputs_ = std::move(field_inputs); } +/* Avoid generating the destructor in every translation unit. */ +FieldInput::~FieldInput() = default; + /* -------------------------------------------------------------------- * FieldConstant. */ |