|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
gen/tools/clang/include/clang/AST/Attrs.inc 7956 SanitizerMask getMask() const {
7957 SanitizerMask Mask;
7959 SanitizerMask ParsedMask =
include/llvm/ADT/Hashing.h 371 typename std::enable_if<!is_hashable_data<T>::value, size_t>::type
372 get_hashable_data(const T &value) {
554 const T &arg, const Ts &...args) {
554 const T &arg, const Ts &...args) {
600 template <typename ...Ts> hash_code hash_combine(const Ts &...args) {
include/llvm/ADT/Optional.h 144 T value;
172 T &getValue() LLVM_LVALUE_FUNCTION noexcept {
176 T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
181 T &&getValue() && noexcept {
206 ::new ((void *)std::addressof(value)) T(std::move(y));
216 optional_detail::OptionalStorage<T> Storage;
219 using value_type = T;
224 Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
227 Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
230 Optional &operator=(T &&y) {
241 static inline Optional create(const T *y) {
245 Optional &operator=(const T &y) {
253 const T *getPointer() const { return &Storage.getValue(); }
254 T *getPointer() { return &Storage.getValue(); }
255 const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
256 T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
260 const T *operator->() const { return getPointer(); }
261 T *operator->() { return getPointer(); }
262 const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
263 T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
266 constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
271 T &&getValue() && { return std::move(Storage.getValue()); }
272 T &&operator*() && { return std::move(Storage.getValue()); }
275 T getValueOr(U &&value) && {
include/llvm/ADT/SmallVector.h 641 template <typename... ArgTypes> reference emplace_back(ArgTypes &&... Args) {
include/llvm/ADT/StringSwitch.h 48 Optional<T> Result;
67 StringSwitch &Case(StringLiteral S, T Value) {
74 StringSwitch& EndsWith(StringLiteral S, T Value) {
81 StringSwitch& StartsWith(StringLiteral S, T Value) {
88 StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
93 T Value) {
98 StringLiteral S3, T Value) {
103 StringLiteral S3, StringLiteral S4, T Value) {
109 T Value) {
115 StringLiteral S6, T Value) {
121 StringLiteral S6, StringLiteral S7, T Value) {
128 T Value) {
135 StringLiteral S9, T Value) {
140 StringSwitch &CaseLower(StringLiteral S, T Value) {
147 StringSwitch &EndsWithLower(StringLiteral S, T Value) {
154 StringSwitch &StartsWithLower(StringLiteral S, T Value) {
161 StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
166 T Value) {
171 StringLiteral S3, T Value) {
176 StringLiteral S3, StringLiteral S4, T Value) {
181 R Default(T Value) {
181 R Default(T Value) {
188 operator R() {
include/llvm/Support/type_traits.h 31 using UnderlyingT = typename std::remove_reference<T>::type;
91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
tools/clang/include/clang/Basic/SanitizerBlacklist.h 33 bool isBlacklistedGlobal(SanitizerMask Mask, StringRef GlobalName,
35 bool isBlacklistedType(SanitizerMask Mask, StringRef MangledTypeName,
37 bool isBlacklistedFunction(SanitizerMask Mask, StringRef FunctionName) const;
38 bool isBlacklistedFile(SanitizerMask Mask, StringRef FileName,
40 bool isBlacklistedLocation(SanitizerMask Mask, SourceLocation Loc,
tools/clang/include/clang/Basic/SanitizerSpecialCaseList.h 33 bool inSection(SanitizerMask Mask, StringRef Prefix, StringRef Query,
41 SanitizerSection(SanitizerMask SM, SectionEntries &E)
44 SanitizerMask Mask;
tools/clang/include/clang/Basic/Sanitizers.h 54 static constexpr SanitizerMask bitPosToMask(const unsigned Pos) {
83 constexpr bool operator==(const SanitizerMask &V) const {
88 SanitizerMask &operator&=(const SanitizerMask &RHS) {
88 SanitizerMask &operator&=(const SanitizerMask &RHS) {
94 SanitizerMask &operator|=(const SanitizerMask &RHS) {
94 SanitizerMask &operator|=(const SanitizerMask &RHS) {
102 constexpr bool operator!=(const SanitizerMask &RHS) const {
106 friend constexpr inline SanitizerMask operator~(SanitizerMask v) {
106 friend constexpr inline SanitizerMask operator~(SanitizerMask v) {
110 friend constexpr inline SanitizerMask operator&(SanitizerMask a,
110 friend constexpr inline SanitizerMask operator&(SanitizerMask a,
111 const SanitizerMask &b) {
116 friend constexpr inline SanitizerMask operator|(SanitizerMask a,
116 friend constexpr inline SanitizerMask operator|(SanitizerMask a,
117 const SanitizerMask &b) {
124 llvm::hash_code hash_value(const clang::SanitizerMask &Arg);
152 bool has(SanitizerMask K) const {
158 bool hasOneOf(SanitizerMask K) const { return static_cast<bool>(Mask & K); }
161 void set(SanitizerMask K, bool Value) {
167 void clear(SanitizerMask K = SanitizerKind::All) { Mask &= ~K; }
173 SanitizerMask Mask;
178 SanitizerMask parseSanitizerValue(StringRef Value, bool AllowGroups);
182 SanitizerMask expandSanitizerGroups(SanitizerMask Kinds);
182 SanitizerMask expandSanitizerGroups(SanitizerMask Kinds);
185 inline SanitizerMask getPPTransparentSanitizers() {
tools/clang/include/clang/Driver/ToolChain.h 597 virtual SanitizerMask getSupportedSanitizers() const;
600 virtual SanitizerMask getDefaultSanitizers() const {
tools/clang/lib/AST/Decl.cpp 4395 const SanitizerMask EnabledAsanMask = Context.getLangOpts().Sanitize.Mask &
tools/clang/lib/Basic/SanitizerBlacklist.cpp 21 bool SanitizerBlacklist::isBlacklistedGlobal(SanitizerMask Mask,
27 bool SanitizerBlacklist::isBlacklistedType(SanitizerMask Mask,
33 bool SanitizerBlacklist::isBlacklistedFunction(SanitizerMask Mask,
38 bool SanitizerBlacklist::isBlacklistedFile(SanitizerMask Mask,
44 bool SanitizerBlacklist::isBlacklistedLocation(SanitizerMask Mask,
tools/clang/lib/Basic/SanitizerSpecialCaseList.cpp 39 SanitizerMask Mask;
54 bool SanitizerSpecialCaseList::inSection(SanitizerMask Mask, StringRef Prefix,
tools/clang/lib/Basic/Sanitizers.cpp 27 SanitizerMask clang::parseSanitizerValue(StringRef Value, bool AllowGroups) {
28 SanitizerMask ParsedKind = llvm::StringSwitch<SanitizerMask>(Value)
37 SanitizerMask clang::expandSanitizerGroups(SanitizerMask Kinds) {
37 SanitizerMask clang::expandSanitizerGroups(SanitizerMask Kinds) {
51 llvm::hash_code hash_value(const clang::SanitizerMask &Arg) {
tools/clang/lib/CodeGen/CGCall.cpp 2983 SanitizerMask CheckKind;
3379 SanitizerMask CheckKind;
tools/clang/lib/CodeGen/CGClass.cpp 2722 SanitizerMask M;
tools/clang/lib/CodeGen/CGExpr.cpp 674 SmallVector<std::pair<llvm::Value *, SanitizerMask>, 3> Checks;
1627 SanitizerMask Kind =
2934 static CheckRecoverableKind getRecoverableKind(SanitizerMask Kind) {
3006 ArrayRef<std::pair<llvm::Value *, SanitizerMask>> Checked,
3116 SanitizerMask Kind, llvm::Value *Cond, llvm::ConstantInt *TypeId,
3245 const std::pair<int, SanitizerMask> CheckKinds[] = {
3252 SmallVector<std::pair<llvm::Value *, SanitizerMask>, 5> Checks;
3255 SanitizerMask Mask = CheckKindMaskPair.second;
tools/clang/lib/CodeGen/CGExprScalar.cpp 258 void EmitBinOpCheck(ArrayRef<std::pair<Value *, SanitizerMask>> Checks,
942 std::pair<llvm::Value *, SanitizerMask>>
961 SanitizerMask Mask;
1010 std::pair<llvm::Value *, SanitizerMask>>
1030 std::pair<llvm::Value *, SanitizerMask>>
1134 std::pair<llvm::Value *, SanitizerMask>>
1139 llvm::SmallVector<std::pair<llvm::Value *, SanitizerMask>, 2> Checks;
1533 ArrayRef<std::pair<Value *, SanitizerMask>> Checks, const BinOpInfo &Info) {
2964 SmallVector<std::pair<llvm::Value *, SanitizerMask>, 2> Checks;
3100 SanitizerMask Kind = isSigned ? SanitizerKind::SignedIntegerOverflow
3609 SmallVector<std::pair<Value *, SanitizerMask>, 2> Checks;
4699 llvm::SmallVector<std::pair<llvm::Value *, SanitizerMask>, 2> Checks;
tools/clang/lib/CodeGen/CodeGenFunction.cpp 678 SanitizerMask mask = Attr->getMask();
tools/clang/lib/CodeGen/CodeGenFunction.h 4111 void EmitCheck(ArrayRef<std::pair<llvm::Value *, SanitizerMask>> Checked,
4117 void EmitCfiSlowPathCheck(SanitizerMask Kind, llvm::Value *Cond,
tools/clang/lib/CodeGen/CodeGenModule.cpp 2231 bool CodeGenModule::isInSanitizerBlacklist(SanitizerMask Kind,
2254 const SanitizerMask EnabledAsanMask =
tools/clang/lib/CodeGen/CodeGenModule.h 1229 bool isInSanitizerBlacklist(SanitizerMask Kind, llvm::Function *Fn,
tools/clang/lib/Driver/SanitizerArgs.cpp 27 static const SanitizerMask NeedsUbsanRt =
31 static const SanitizerMask NeedsUbsanCxxRt =
33 static const SanitizerMask NotAllowedWithTrap = SanitizerKind::Vptr;
34 static const SanitizerMask NotAllowedWithMinimalRuntime =
36 static const SanitizerMask RequiresPIE =
38 static const SanitizerMask NeedsUnwindTables =
41 static const SanitizerMask SupportsCoverage =
51 static const SanitizerMask RecoverableByDefault =
55 static const SanitizerMask Unrecoverable =
57 static const SanitizerMask AlwaysRecoverable =
59 static const SanitizerMask LegacyFsanitizeRecoverMask =
61 static const SanitizerMask NeedsLTO = SanitizerKind::CFI;
62 static const SanitizerMask TrappingSupported =
67 static const SanitizerMask TrappingDefault = SanitizerKind::CFI;
68 static const SanitizerMask CFIClasses =
72 static const SanitizerMask CompatibleWithMinimalRuntime =
95 static SanitizerMask parseArgValues(const Driver &D, const llvm::opt::Arg *A,
108 SanitizerMask Mask);
115 SanitizerMask Mask);
121 static void addDefaultBlacklists(const Driver &D, SanitizerMask Kinds,
125 SanitizerMask Mask;
155 static SanitizerMask setGroupBits(SanitizerMask Kinds) {
155 static SanitizerMask setGroupBits(SanitizerMask Kinds) {
164 static SanitizerMask parseSanitizeTrapArgs(const Driver &D,
166 SanitizerMask TrapRemove; // During the loop below, the accumulated set of
169 SanitizerMask TrappingKinds;
170 SanitizerMask TrappingSupportedWithGroups = setGroupBits(TrappingSupported);
177 SanitizerMask Add = parseArgValues(D, Arg, true);
179 if (SanitizerMask InvalidValues = Add & ~TrappingSupportedWithGroups) {
243 SanitizerMask AllRemove; // During the loop below, the accumulated set of
246 SanitizerMask AllAddedKinds; // Mask of all sanitizers ever enabled by
251 SanitizerMask DiagnosedKinds; // All Kinds we have diagnosed up to now.
253 SanitizerMask Kinds;
254 const SanitizerMask Supported = setGroupBits(TC.getSupportedSanitizers());
262 SanitizerMask TrappingKinds = parseSanitizeTrapArgs(D, Args);
263 SanitizerMask InvalidTrappingKinds = TrappingKinds & NotAllowedWithTrap;
279 SanitizerMask Add = parseArgValues(D, Arg, /*AllowGroups=*/true);
298 if (SanitizerMask KindsToDiagnose =
308 if (SanitizerMask KindsToDiagnose =
336 if (SanitizerMask KindsToDiagnose = Add & ~Supported & ~DiagnosedKinds) {
393 SanitizerMask Remove = parseArgValues(D, Arg, true);
398 std::pair<SanitizerMask, SanitizerMask> IncompatibleGroups[] = {
398 std::pair<SanitizerMask, SanitizerMask> IncompatibleGroups[] = {
433 SanitizerMask Default = TC.getDefaultSanitizers() & ~AllRemove;
438 SanitizerMask Group = G.first;
471 SanitizerMask KindsToDiagnose = Kinds & ~TrappingKinds & NeedsUbsanCxxRt;
487 SanitizerMask Group = G.first;
489 if (SanitizerMask Incompatible = Kinds & G.second) {
503 SanitizerMask RecoverableKinds = RecoverableByDefault | AlwaysRecoverable;
504 SanitizerMask DiagnosedUnrecoverableKinds;
505 SanitizerMask DiagnosedAlwaysRecoverableKinds;
519 SanitizerMask Add = parseArgValues(D, Arg, true);
522 if (SanitizerMask KindsToDiagnose =
533 SanitizerMask Remove = parseArgValues(D, Arg, true);
536 if (SanitizerMask KindsToDiagnose =
649 SanitizerMask IncompatibleMask =
656 SanitizerMask NonTrappingCfi = Kinds & SanitizerKind::CFI & ~TrappingKinds;
804 SanitizerMask DetectInvalidPointerPairs =
1063 SanitizerMask parseArgValues(const Driver &D, const llvm::opt::Arg *A,
1072 SanitizerMask Kinds;
1075 SanitizerMask Kind;
1124 SanitizerMask Mask) {
1130 SanitizerMask AddKinds =
1135 SanitizerMask RemoveKinds =
1143 std::string describeSanitizeArg(const llvm::opt::Arg *A, SanitizerMask Mask) {
tools/clang/lib/Driver/ToolChain.cpp 923 SanitizerMask ToolChain::getSupportedSanitizers() const {
927 SanitizerMask Res = (SanitizerKind::Undefined & ~SanitizerKind::Vptr &
tools/clang/lib/Driver/ToolChains/CloudABI.cpp 139 SanitizerMask CloudABI::getSupportedSanitizers() const {
140 SanitizerMask Res = ToolChain::getSupportedSanitizers();
145 SanitizerMask CloudABI::getDefaultSanitizers() const {
tools/clang/lib/Driver/ToolChains/CloudABI.h 59 SanitizerMask getSupportedSanitizers() const override;
60 SanitizerMask getDefaultSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Contiki.cpp 21 SanitizerMask Contiki::getSupportedSanitizers() const {
23 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/Contiki.h 32 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/CrossWindows.cpp 277 clang::SanitizerMask CrossWindowsToolChain::getSupportedSanitizers() const {
278 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/CrossWindows.h 76 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Cuda.cpp 869 SanitizerMask CudaToolChain::getSupportedSanitizers() const {
tools/clang/lib/Driver/ToolChains/Cuda.h 179 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Darwin.cpp 2585 SanitizerMask Darwin::getSupportedSanitizers() const {
2587 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/Darwin.h 485 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/FreeBSD.cpp 425 SanitizerMask FreeBSD::getSupportedSanitizers() const {
429 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/FreeBSD.h 71 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Fuchsia.cpp 333 SanitizerMask Fuchsia::getSupportedSanitizers() const {
334 SanitizerMask Res = ToolChain::getSupportedSanitizers();
345 SanitizerMask Fuchsia::getDefaultSanitizers() const {
346 SanitizerMask Res;
tools/clang/lib/Driver/ToolChains/Fuchsia.h 69 SanitizerMask getSupportedSanitizers() const override;
70 SanitizerMask getDefaultSanitizers() const override;
tools/clang/lib/Driver/ToolChains/HIP.cpp 439 SanitizerMask HIPToolChain::getSupportedSanitizers() const {
tools/clang/lib/Driver/ToolChains/HIP.h 110 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Linux.cpp 992 SanitizerMask Linux::getSupportedSanitizers() const {
1005 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/Linux.h 43 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/MSVC.cpp 1360 SanitizerMask MSVCToolChain::getSupportedSanitizers() const {
1361 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/MSVC.h 138 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/MinGW.cpp 460 SanitizerMask toolchains::MinGW::getSupportedSanitizers() const {
461 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/MinGW.h 70 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Myriad.cpp 288 SanitizerMask MyriadToolChain::getSupportedSanitizers() const {
tools/clang/lib/Driver/ToolChains/Myriad.h 86 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/NetBSD.cpp 464 SanitizerMask NetBSD::getSupportedSanitizers() const {
467 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/NetBSD.h 76 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/OpenBSD.cpp 233 SanitizerMask OpenBSD::getSupportedSanitizers() const {
238 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/OpenBSD.h 76 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/PS4CPU.cpp 425 SanitizerMask toolchains::PS4CPU::getSupportedSanitizers() const {
426 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/PS4CPU.h 85 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/Solaris.cpp 199 SanitizerMask Solaris::getSupportedSanitizers() const {
202 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/Solaris.h 65 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Driver/ToolChains/WebAssembly.cpp 279 SanitizerMask WebAssembly::getSupportedSanitizers() const {
280 SanitizerMask Res = ToolChain::getSupportedSanitizers();
tools/clang/lib/Driver/ToolChains/WebAssembly.h 69 SanitizerMask getSupportedSanitizers() const override;
tools/clang/lib/Frontend/CompilerInvocation.cpp 597 SanitizerMask K = parseSanitizerValue(Sanitizer, /*AllowGroups=*/false);
tools/clang/lib/Serialization/ASTReader.cpp 338 SanitizerMask ModularSanitizers = getPPTransparentSanitizers();
usr/include/c++/7.4.0/bits/alloc_traits.h 474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
136 inline _GLIBCXX17_CONSTEXPR _Tp*
137 addressof(_Tp& __r) noexcept
143 const _Tp* addressof(const _Tp&&) = delete;
143 const _Tp* addressof(const _Tp&&) = delete;
usr/include/c++/7.4.0/bits/stl_pair.h 100 return __and_<is_constructible<_T1, const _U1&>,
100 return __and_<is_constructible<_T1, const _U1&>,
101 is_constructible<_T2, const _U2&>>::value;
101 is_constructible<_T2, const _U2&>>::value;
107 return __and_<is_convertible<const _U1&, _T1>,
107 return __and_<is_convertible<const _U1&, _T1>,
108 is_convertible<const _U2&, _T2>>::value;
108 is_convertible<const _U2&, _T2>>::value;
114 return __and_<is_constructible<_T1, _U1&&>,
114 return __and_<is_constructible<_T1, _U1&&>,
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
121 return __and_<is_convertible<_U1&&, _T1>,
121 return __and_<is_convertible<_U1&&, _T1>,
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
129 is_convertible<_U2&&, _T2>>;
129 is_convertible<_U2&&, _T2>>;
133 return __and_<is_constructible<_T1, const _U1&>,
133 return __and_<is_constructible<_T1, const _U1&>,
134 is_constructible<_T2, _U2&&>,
134 is_constructible<_T2, _U2&&>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
143 is_convertible<const _U2&, _T2>>;
143 is_convertible<const _U2&, _T2>>;
147 return __and_<is_constructible<_T1, _U1&&>,
147 return __and_<is_constructible<_T1, _U1&&>,
148 is_constructible<_T2, const _U2&&>,
148 is_constructible<_T2, const _U2&&>,
209 : private __pair_base<_T1, _T2>
209 : private __pair_base<_T1, _T2>
211 typedef _T1 first_type; /// @c first_type is the first bound type
212 typedef _T2 second_type; /// @c second_type is the second bound type
214 _T1 first; /// @c first is a copy of the first object
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
283 _T1, _T2>;
291 constexpr pair(const pair<_U1, _U2>& __p)
311 constexpr pair(_U1&& __x, const _T2& __y)
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
326 : first(__x), second(std::forward<_U2>(__y)) { }
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
360 constexpr pair(pair<_U1, _U2>&& __p)
362 second(std::forward<_U2>(__p.second)) { }
379 __and_<is_copy_assignable<_T1>,
380 is_copy_assignable<_T2>>::value,
390 __and_<is_move_assignable<_T1>,
391 is_move_assignable<_T2>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
523 typename __decay_and_strip<_T2>::__type>
524 make_pair(_T1&& __x, _T2&& __y)
524 make_pair(_T1&& __x, _T2&& __y)
527 typedef typename __decay_and_strip<_T2>::__type __ds_type2;
529 return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/bits/stl_vector.h 962 emplace_back(_Args&&... __args);
1483 _M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/new_allocator.h 135 construct(_Up* __p, _Args&&... __args)
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
889 typedef decltype(__test<_Tp>(0)) type;
894 : public __and_<__not_<is_void<_Tp>>,
895 __is_default_constructible_impl<_Tp>>
915 : public __is_default_constructible_atom<_Tp>::type
921 : public __is_default_constructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
1160 : public is_constructible<_Tp, _Tp&&>
1160 : public is_constructible<_Tp, _Tp&&>
1166 : public __is_move_constructible_impl<_Tp>
1286 : public is_assignable<_Tp&, const _Tp&>
1286 : public is_assignable<_Tp&, const _Tp&>
1292 : public __is_copy_assignable_impl<_Tp>
1304 : public is_assignable<_Tp&, _Tp&&>
1304 : public is_assignable<_Tp&, _Tp&&>
1310 : public __is_move_assignable_impl<_Tp>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1352 : public is_nothrow_assignable<_Tp&, _Tp&&>
1358 : public __is_nt_move_assignable_impl<_Tp>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
1400 : public __and_<is_default_constructible<_Tp>,
1401 __is_implicitly_default_constructible_safe<_Tp>>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) type;
1538 typedef decltype(__test<_From, _To>(0)) type;
1545 : public __is_convertible_helper<_From, _To>::type
1545 : public __is_convertible_helper<_From, _To>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
1955 { typedef _Tp type; };
2104 { typedef typename remove_cv<_Up>::type __type; };
2118 typedef typename remove_reference<_Tp>::type __remove_type;
2131 typedef _Tp __type;
2144 typename decay<_Tp>::type>::__type __type;