clang-tools
8.0.0
llvm.src
tools
clang
tools
extra
clang-tidy
modernize
MakeUniqueCheck.h
Go to the documentation of this file.
1
//===--- MakeUniqueCheck.h - clang-tidy--------------------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_MAKE_UNIQUE_H
11
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_MAKE_UNIQUE_H
12
13
#include "
MakeSmartPtrCheck.h
"
14
15
namespace
clang
{
16
namespace
tidy {
17
namespace
modernize {
18
19
/// Replace the pattern:
20
/// \code
21
/// std::unique_ptr<type>(new type(args...))
22
/// \endcode
23
///
24
/// With the C++14 version:
25
/// \code
26
/// std::make_unique<type>(args...)
27
/// \endcode
28
class
MakeUniqueCheck
:
public
MakeSmartPtrCheck
{
29
public
:
30
MakeUniqueCheck
(StringRef
Name
,
ClangTidyContext
*Context);
31
32
protected
:
33
SmartPtrTypeMatcher
getSmartPointerTypeMatcher
()
const override
;
34
35
bool
isLanguageVersionSupported
(
const
LangOptions &LangOpts)
const override
;
36
37
private
:
38
const
bool
RequireCPlusPlus14;
39
};
40
41
}
// namespace modernize
42
}
// namespace tidy
43
}
// namespace clang
44
45
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_MAKE_UNIQUE_H
clang::tidy::modernize::MakeSmartPtrCheck::SmartPtrTypeMatcher
ast_matchers::internal::BindableMatcher< QualType > SmartPtrTypeMatcher
Definition:
MakeSmartPtrCheck.h:35
clang::tidy::modernize::MakeUniqueCheck
Replace the pattern:
Definition:
MakeUniqueCheck.h:28
clang::tidy::modernize::MakeUniqueCheck::getSmartPointerTypeMatcher
SmartPtrTypeMatcher getSmartPointerTypeMatcher() const override
Returns matcher that match with different smart pointer types.
Definition:
MakeUniqueCheck.cpp:24
MakeSmartPtrCheck.h
Name
static constexpr llvm::StringLiteral Name
Definition:
UppercaseLiteralSuffixCheck.cpp:28
clang::tidy::modernize::MakeUniqueCheck::isLanguageVersionSupported
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override
Returns whether the C++ version is compatible with current check.
Definition:
MakeUniqueCheck.cpp:40
clang
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Definition:
ChangeNamespace.cpp:18
clang::tidy::modernize::MakeUniqueCheck::MakeUniqueCheck
MakeUniqueCheck(StringRef Name, ClangTidyContext *Context)
Definition:
MakeUniqueCheck.cpp:18
clang::tidy::ClangTidyContext
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.
Definition:
ClangTidyDiagnosticConsumer.h:100
clang::tidy::modernize::MakeSmartPtrCheck
Base class for MakeSharedCheck and MakeUniqueCheck.
Definition:
MakeSmartPtrCheck.h:25
Generated on Thu Feb 28 2019 09:32:56 for clang-tools by
1.8.13