GRINS-0.8.0
shared_ptr.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef GRINS_SHARED_PTR_H
26 #define GRINS_SHARED_PTR_H
27 
28 #include "grins_config.h"
29 #include "libmesh/libmesh_config.h"
30 
31 // Here, we just piggy back on libMesh's test for shared_ptr
32 #ifdef LIBMESH_HAVE_CXX11_SHARED_PTR
33 #include <memory>
34 #elif GRINS_HAVE_BOOST_SHARED_PTR_HPP
35 #include <boost/shared_ptr.hpp>
36 #endif
37 
38 namespace GRINS
39 {
40 #ifdef LIBMESH_HAVE_CXX11_SHARED_PTR
41  template<typename T>
42  class SharedPtr : public std::shared_ptr<T>
43  {
44  public:
45  SharedPtr() : std::shared_ptr<T>() {};
46  SharedPtr( T* ptr ) : std::shared_ptr<T>(ptr) {};
47  };
48 #elif GRINS_HAVE_BOOST_SHARED_PTR_HPP
49  template<typename T>
50  class SharedPtr : public boost::shared_ptr<T>
51  {
52  public:
53  SharedPtr() : boost::shared_ptr<T>() {};
54  SharedPtr( T* ptr ) : boost::shared_ptr<T>(ptr) {};
55  };
56 #else
57 # error "No valid definition for shared_ptr found!"
58 #endif
59 }
60 
61 #endif // GRINS_SHARED_PTR_H
GRINS namespace.

Generated on Tue Dec 19 2017 12:47:28 for GRINS-0.8.0 by  doxygen 1.8.9.1