diff --git a/src/VTKWriter_grids_st.hpp b/src/VTKWriter_grids_st.hpp index 726258b4da0a2c4bfad496f31c2053b99404cc2e..49ce3738091b7373807a2937b658e0adee782f95 100644 --- a/src/VTKWriter_grids_st.hpp +++ b/src/VTKWriter_grids_st.hpp @@ -27,12 +27,42 @@ struct cell_grid openfpm::vector<const Grid *> grids; // combination - const comb<Grid::dims> cmb; + comb<Grid::dims> cmb; //! construct a cell grid cell_grid(const comb<Grid::dims> & cmb) :cmb(cmb) {} + + //! Copy constructor + inline cell_grid(const cell_grid<Grid> & ele) + { + this->operator=(ele); + } + + //! Copy constructor + inline cell_grid(cell_grid<Grid> && ele) + { + this->operator=(ele); + } + + //! Copy constructor + inline cell_grid<Grid> & operator=(const cell_grid<Grid> & ele) + { + cmb = ele.cmb; + grids = ele.grids; + + return *this; + } + + //! Copy constructor + inline cell_grid<Grid> & operator=(cell_grid<Grid> && ele) + { + cmb = ele.cmb; + grids = ele.grids; + + return *this; + } }; template <typename Grid, typename St> @@ -57,6 +87,50 @@ public: Point<Grid::dims,St> spacing; // Part of the grid that is real domain Box<Grid::dims,size_t> dom; + + //! Copy constructor + inline ele_g_st(const ele_g_st & ele) + { + this->operator=(ele); + } + + //! Copy constructor + inline ele_g_st(ele_g_st && ele) + { + this->operator=(ele); + } + + /*! \brief Copy the object + * + * \patam ele ele_g_st to copy + * + */ + ele_g_st<Grid,St> & operator=(const ele_g_st & ele) + { + dataset = ele.dataset; + g = ele.g; + offset = ele.offset; + spacing = ele.spacing; + dom = ele.dom; + + return *this; + } + + /*! \brief Copy the object + * + * \patam ele ele_g_st to copy + * + */ + ele_g_st<Grid,St> & operator=(ele_g_st && ele) + { + dataset = ele.dataset; + g = ele.g; + offset = ele.offset; + spacing = ele.spacing; + dom = ele.dom; + + return *this; + } }; /*!