LLDB
mainline
llvm-project
lldb
source
API
Utils.h
Go to the documentation of this file.
1
//===-- Utils.h -------------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLDB_SOURCE_API_UTILS_H
10
#define LLDB_SOURCE_API_UTILS_H
11
12
#include "llvm/ADT/STLExtras.h"
13
#include <memory>
14
15
namespace
lldb_private
{
16
17
template
<
typename
T> std::unique_ptr<T>
clone
(
const
std::unique_ptr<T> &src) {
18
if
(src)
19
return
std::make_unique<T>(*src);
20
return
nullptr
;
21
}
22
23
template
<
typename
T> std::shared_ptr<T>
clone
(
const
std::shared_ptr<T> &src) {
24
if
(src)
25
return
std::make_shared<T>(*src);
26
return
nullptr
;
27
}
28
29
}
// namespace lldb_private
30
#endif
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
lldb_private::clone
std::unique_ptr< T > clone(const std::unique_ptr< T > &src)
Definition
Utils.h:17
Generated on
for LLDB by
1.14.0