queso-0.53.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
core
inc
ScopedPtr.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------bl-
2
//--------------------------------------------------------------------------
3
//
4
// QUESO - a library to support the Quantification of Uncertainty
5
// for Estimation, Simulation and Optimization
6
//
7
// Copyright (C) 2008-2015 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 UQ_SCOPED_PTR_H
26
#define UQ_SCOPED_PTR_H
27
28
#include <queso/config_queso.h>
29
30
#ifdef QUESO_HAVE_CXX11_UNIQUE_PTR
31
#include <memory>
32
#elif QUESO_HAVE_BOOST_SCOPED_PTR_HPP
33
#include <boost/scoped_ptr.hpp>
34
#elif QUESO_HAVE_CXX_AUTO_PTR
35
#include <memory>
36
#endif
37
38
namespace
QUESO
39
{
40
#ifdef QUESO_HAVE_CXX11_UNIQUE_PTR
41
template
<
typename
T>
42
struct
ScopedPtr
43
{
44
typedef
std::unique_ptr<T> Type;
45
};
46
#elif QUESO_HAVE_BOOST_SCOPED_PTR_HPP
47
template
<
typename
T>
48
struct
ScopedPtr
49
{
50
typedef
boost::scoped_ptr<T> Type;
51
};
52
#elif QUESO_HAVE_CXX_AUTO_PTR
53
template
<
typename
T>
54
struct
ScopedPtr
55
{
56
typedef
std::auto_ptr<T> Type;
57
};
58
#else
59
# error "No valid definition for ScopedPtr found!"
60
#endif
61
62
}
// end namespace QUESO
63
64
#endif // UQ_SCOPED_PTR_H
Generated on Thu Jun 11 2015 13:52:31 for queso-0.53.0 by
doxygen
1.8.5