From a40aac77322638975671e94d53c9d5306fc92470 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Fri, 12 Jul 2019 18:00:00 +0200
Subject: [PATCH] DEFEATURE: remove the now unused Xfer class

- previously deprecated and slated for removal in 2018-03
---
 src/OpenFOAM/memory/Xfer/Xfer.H | 224 --------------------------------
 1 file changed, 224 deletions(-)
 delete mode 100644 src/OpenFOAM/memory/Xfer/Xfer.H

diff --git a/src/OpenFOAM/memory/Xfer/Xfer.H b/src/OpenFOAM/memory/Xfer/Xfer.H
deleted file mode 100644
index 5f1948e86c0..00000000000
--- a/src/OpenFOAM/memory/Xfer/Xfer.H
+++ /dev/null
@@ -1,224 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2009-2011, 2018 OpenCFD Ltd.
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-                            | Copyright (C) 2011-2016 OpenFOAM Foundation
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::Xfer
-
-Description
-    A simple container for copying or transferring objects of type \<T\>.
-
-    The wrapped object of type \<T\> must implement a transfer() method and
-    an operator=() copy method.
-
-\deprecated(2018-03) This class is an artifact from pre-C++11 code.
-
-Note
-    This class is an artifact from pre-C++11 code, where it was used
-    as a workaround for the lack of movable references (rvalue).
-    The interfaces previously using Xfer to reclaim memory now use
-    movable references directly or, in the rare case, an autoPtr.
-
-See also
-    xferCopy, xferCopyTo, xferMove, xferMoveTo
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef Xfer_H
-#define Xfer_H
-
-#include "nullObject.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class Xfer Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class T>
-class Xfer
-{
-    // Private data
-
-        //- Pointer to underlying datatype
-        mutable T* ptr_;
-
-
-public:
-
-    // STL type definition similar to std::shared_ptr
-
-        //- Type of object being managed
-        typedef T element_type;
-
-
-    // Constructors
-
-        //- Construct with no managed object.
-        inline constexpr Xfer() noexcept : ptr_(nullptr)
-        {}
-
-        //- Store object pointer and manage its deletion
-        //  Can also be used later to transfer by assignment
-        inline explicit Xfer(T* p) noexcept : ptr_(p)
-        {}
-
-        //- Move construct, transferring ownership
-        inline Xfer(const Xfer<T>& xf) noexcept : ptr_(xf.ptr_)
-        {
-            xf.ptr_ = nullptr;
-        }
-
-
-    //- Destructor
-    inline ~Xfer() noexcept
-    {
-        delete ptr_;
-        ptr_ = nullptr;
-    }
-
-
-    // Static Member Functions
-
-        //- Return a null object reference
-        inline static const Xfer<T>& null()
-        {
-            return NullObjectRef<Xfer<T>>();
-        }
-
-
-    // Member Functions
-
-        //- Test for valid pointer
-        inline bool valid() const noexcept { return ptr_; }
-
-        //- Pointer to the underlying object.
-        inline T* get() const noexcept { return ptr_; }
-
-        //- Rvalue reference to the underlying object.
-        inline T&& rvalue() const { return std::move(*ptr_); }
-
-        //- Swaps the managed objects
-        inline void swap(Xfer<T>& other) noexcept
-        {
-            T* p = ptr_;
-            ptr_ = other.ptr_;
-            other.ptr_ = p;
-        }
-
-
-    // Member Operators
-
-        //- Reference to the underlying object
-        inline T& operator*() const { return *ptr_; }
-
-        //- Pointer to the underlying object
-        inline T* operator->() const { return ptr_; }
-
-        //- Reference to the underlying object
-        inline T& operator()() const { return *ptr_; }
-
-        //- Move assignment, transferring ownership
-        inline void operator=(const Xfer<T>& rhs) noexcept
-        {
-            if (this != &rhs)
-            {
-                // clear and swap
-                delete ptr_;
-                ptr_ = rhs.ptr_;
-                rhs.ptr_ = nullptr;
-            }
-        }
-};
-
-
-// * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
-
-
-//- Copy construct contents of the \a obj
-//  \deprecated - Xfer should not be used in new code
-//  \sa xferCopyTo, xferMove, xferMoveTo and Foam::Xfer
-template<class T>
-inline Xfer<T> xferCopy(const T& obj)
-{
-    return Foam::Xfer<T>(new T(obj));
-}
-
-
-//- Transfer construct contents of the \a obj
-//  \deprecated - Xfer should not be used in new code
-//
-//  \sa xferCopy, xferCopyTo, xferMoveTo and Foam::Xfer
-template<class T>
-inline Xfer<T> xferMove(T& obj)
-{
-    T* ptr = new T;
-    ptr->transfer(obj);
-    return Foam::Xfer<T>(ptr);
-}
-
-
-//- Copy construct contents of the \a obj from dissimilar type
-//  \deprecated - Xfer should not be used in new code
-//
-//  \sa xferCopy, xferMove, xferMoveTo and Foam::Xfer
-template<class T, class From>
-inline Xfer<T> xferCopyTo(const From& obj)
-{
-    return Foam::Xfer<T>(new T(obj));
-}
-
-
-//- Transfer construct contents of the \a obj from dissimilar type
-//  \deprecated - Xfer should not be used in new code
-//
-//  \par Example Use
-//  \code
-//      DynamicList<label> dynLst;
-//      ...
-//      labelList plainLst( xferMoveTo<labelList>(dynLst) );
-//  \endcode
-//
-//  \sa xferCopy, xferCopyTo, xferMove and Foam::Xfer
-template<class T, class From>
-inline Xfer<T> xferMoveTo(From& obj)
-{
-    T* ptr = new T;
-    ptr->transfer(obj);
-    return Foam::Xfer<T>(ptr);
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
-- 
GitLab