Reference documentation for deal.II version 8.4.2
deal.II
base
std_cxx11
unique_ptr.h
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2015 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE at
12
// the top level of the deal.II distribution.
13
//
14
// ---------------------------------------------------------------------
15
16
#ifndef dealii__std_cxx11_unique_ptr_h
17
#define dealii__std_cxx11_unique_ptr_h
18
19
20
#include <deal.II/base/config.h>
21
22
#ifdef DEAL_II_WITH_CXX11
23
24
# include <memory>
25
DEAL_II_NAMESPACE_OPEN
26
namespace
std_cxx11
27
{
28
using
std::unique_ptr;
29
}
30
DEAL_II_NAMESPACE_CLOSE
31
32
#else
33
34
#include <boost/scoped_ptr.hpp>
35
36
DEAL_II_NAMESPACE_OPEN
37
namespace
std_cxx11
38
{
56
template
<
typename
T>
57
class
unique_ptr :
public
boost::scoped_ptr<T>
58
{
59
public
:
60
unique_ptr () {}
61
62
template
<
class
Y>
63
explicit
unique_ptr (Y *p)
64
:
65
boost::scoped_ptr<T>(p)
66
{}
67
};
68
69
}
70
DEAL_II_NAMESPACE_CLOSE
71
72
#endif
73
74
// then allow using the old namespace name instead of the new one
75
DEAL_II_NAMESPACE_OPEN
76
namespace
std_cxx1x
=
std_cxx11
;
77
DEAL_II_NAMESPACE_CLOSE
78
79
#endif
std_cxx11
Definition:
std_cxx11.h:30
Generated by
1.8.12