From 822d3882e518141c219c14f3aa4420b83a2d1e27 Mon Sep 17 00:00:00 2001
From: Joachim Wuttke <j.wuttke@fz-juelich.de>
Date: Tue, 11 Apr 2023 08:04:17 +0200
Subject: [PATCH] const ref&

---
 Device/Data/Datafield.cpp             | 2 +-
 Device/Data/Datafield.h               | 2 +-
 auto/Wrap/libBornAgainDevice_wrap.cpp | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp
index cb4951550cb..906fdb2fbf9 100644
--- a/Device/Data/Datafield.cpp
+++ b/Device/Data/Datafield.cpp
@@ -152,7 +152,7 @@ bool Datafield::hasSameShape(const Datafield& other) const
     return frame() == other.frame();
 }
 
-std::vector<double> Datafield::flatVector() const
+const std::vector<double>& Datafield::flatVector() const
 {
     return m_values;
 }
diff --git a/Device/Data/Datafield.h b/Device/Data/Datafield.h
index 0921e7935b6..6990eede670 100644
--- a/Device/Data/Datafield.h
+++ b/Device/Data/Datafield.h
@@ -61,7 +61,7 @@ public:
     size_t size() const;
 
     //! Returns copy of raw data vector
-    std::vector<double> flatVector() const;
+    const std::vector<double>& flatVector() const;
 
     double maxVal() const;
     double minVal() const;
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index 2bdd69fec98..aad24f256f8 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -27934,7 +27934,7 @@ SWIGINTERN PyObject *_wrap_Datafield_flatVector(PyObject *self, PyObject *args)
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
-  std::vector< double,std::allocator< double > > result;
+  std::vector< double,std::allocator< double > > *result = 0 ;
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
@@ -27943,8 +27943,8 @@ SWIGINTERN PyObject *_wrap_Datafield_flatVector(PyObject *self, PyObject *args)
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Datafield_flatVector" "', argument " "1"" of type '" "Datafield const *""'"); 
   }
   arg1 = reinterpret_cast< Datafield * >(argp1);
-  result = ((Datafield const *)arg1)->flatVector();
-  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
+  result = (std::vector< double,std::allocator< double > > *) &((Datafield const *)arg1)->flatVector();
+  resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(*result));
   return resultobj;
 fail:
   return NULL;
-- 
GitLab