Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-10-03 17:58:33 +0300
committerJacques Lucke <jacques@blender.org>2021-10-03 17:58:33 +0300
commitbf354cde9691cd26ad5110bd275a581976b06911 (patch)
treee2c0696238ea18079ec24fbb408be1d66d5e0836 /source/blender/blenkernel
parent64d07ffcc32258c2a39800f1b930f7d262508d0d (diff)
Cleanup: move special methods of geometry set out of header
This reduces the compile time, because fewer symbols have to be generated in translation units using geometry sets.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_geometry_set.hh7
-rw-r--r--source/blender/blenkernel/intern/geometry_set.cc8
2 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_geometry_set.hh b/source/blender/blenkernel/BKE_geometry_set.hh
index f182fb527e1..b36d15578a7 100644
--- a/source/blender/blenkernel/BKE_geometry_set.hh
+++ b/source/blender/blenkernel/BKE_geometry_set.hh
@@ -253,6 +253,13 @@ struct GeometrySet {
blender::Map<GeometryComponentType, GeometryComponentPtr> components_;
public:
+ GeometrySet();
+ GeometrySet(const GeometrySet &other);
+ GeometrySet(GeometrySet &&other);
+ ~GeometrySet();
+ GeometrySet &operator=(const GeometrySet &other);
+ GeometrySet &operator=(GeometrySet &&other);
+
GeometryComponent &get_component_for_write(GeometryComponentType component_type);
template<typename Component> Component &get_component_for_write()
{
diff --git a/source/blender/blenkernel/intern/geometry_set.cc b/source/blender/blenkernel/intern/geometry_set.cc
index 0aac6ae3adf..84daa06554a 100644
--- a/source/blender/blenkernel/intern/geometry_set.cc
+++ b/source/blender/blenkernel/intern/geometry_set.cc
@@ -105,6 +105,14 @@ bool GeometryComponent::is_empty() const
/** \name Geometry Set
* \{ */
+/* The methods are defaulted here so that they are not instantiated in every translation unit. */
+GeometrySet::GeometrySet() = default;
+GeometrySet::GeometrySet(const GeometrySet &other) = default;
+GeometrySet::GeometrySet(GeometrySet &&other) = default;
+GeometrySet::~GeometrySet() = default;
+GeometrySet &GeometrySet::operator=(const GeometrySet &other) = default;
+GeometrySet &GeometrySet::operator=(GeometrySet &&other) = default;
+
/* This method can only be used when the geometry set is mutable. It returns a mutable geometry
* component of the given type.
*/