|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 574 class GotoLabel : public Loc {
598 class MemRegionVal : public Loc {
640 class ConcreteInt : public Loc {
References
include/llvm/ADT/Optional.h 144 T value;
160 explicit OptionalStorage(in_place_t, Args &&... args)
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/Support/type_traits.h 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/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h 177 IsZeroCheck(!Assumption && Constraint.getAs<Loc>()) {}
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h 241 LLVM_NODISCARD ProgramStateRef bindLoc(Loc location, SVal V,
262 LLVM_NODISCARD ProgramStateRef killBinding(Loc LV) const;
302 Loc getLValue(const CXXBaseSpecifier &BaseSpec, const SubRegion *Super) const;
305 Loc getLValue(const CXXRecordDecl *BaseClass, const SubRegion *Super,
309 Loc getLValue(const VarDecl *D, const LocationContext *LC) const;
311 Loc getLValue(const CompoundLiteralExpr *literal,
333 SVal getSVal(Loc LV, QualType T = QualType()) const;
336 SVal getRawSVal(Loc LV, QualType T= QualType()) const;
542 SVal ArrayToPointer(Loc Array, QualType ElementTy) {
702 if (Optional<Loc> L = LV.getAs<Loc>())
702 if (Optional<Loc> L = LV.getAs<Loc>())
707 inline Loc ProgramState::getLValue(const CXXBaseSpecifier &BaseSpec,
715 inline Loc ProgramState::getLValue(const CXXRecordDecl *BaseClass,
723 inline Loc ProgramState::getLValue(const VarDecl *VD,
728 inline Loc ProgramState::getLValue(const CompoundLiteralExpr *literal,
768 if (Ex->isGLValue() || Loc::isLocType(T) ||
776 inline SVal ProgramState::getRawSVal(Loc LV, QualType T) const {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 76 virtual SVal evalCastFromLoc(Loc val, QualType castTy) = 0;
123 Loc lhs, Loc rhs, QualType resultTy) = 0;
123 Loc lhs, Loc rhs, QualType resultTy) = 0;
129 Loc lhs, NonLoc rhs, QualType resultTy) = 0;
303 if (Loc::isLocType(type))
318 NonLoc makeLocAsInteger(Loc loc, unsigned bits) {
345 Loc makeNullWithType(QualType type) {
349 Loc makeNull() {
353 Loc makeLoc(SymbolRef sym) {
357 Loc makeLoc(const MemRegion* region) {
361 Loc makeLoc(const AddrLabelExpr *expr) {
365 Loc makeLoc(const llvm::APSInt& integer) {
373 if (Loc::isLocType(Sym->getType()))
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 103 T castAs() const {
111 Optional<T> getAs() const {
112 if (!T::isKind(*this))
423 Loc getLoc() const {
426 return D->first.castAs<Loc>();
429 Loc getPersistentLoc() const {
433 return V.castAs<Loc>();
574 class GotoLabel : public Loc {
593 static bool isKind(const Loc& V) {
598 class MemRegionVal : public Loc {
635 static bool isKind(const Loc& V) {
640 class ConcreteInt : public Loc {
662 static bool isKind(const Loc& V) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h 74 virtual SVal getBinding(Store store, Loc loc, QualType T = QualType()) = 0;
107 virtual StoreRef Bind(Store store, Loc loc, SVal val) = 0;
122 virtual StoreRef killBinding(Store ST, Loc L) = 0;
134 virtual Loc getLValueVar(const VarDecl *VD, const LocationContext *LC) {
138 Loc getLValueCompoundLiteral(const CompoundLiteralExpr *CL,
161 virtual SVal ArrayToPointer(Loc Array, QualType ElementTy) = 0;
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp 894 Optional<Loc> ElementLoc;
900 ElementLoc = State->getSVal(Element, LCtx).getAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp 416 if (Optional<Loc> BufLoc = BufStart.getAs<Loc>()) {
416 if (Optional<Loc> BufLoc = BufStart.getAs<Loc>()) {
436 if (Optional<Loc> BufLoc = BufStart.getAs<Loc>()) {
436 if (Optional<Loc> BufLoc = BufStart.getAs<Loc>()) {
472 Optional<Loc> firstLoc = firstVal.getAs<Loc>();
472 Optional<Loc> firstLoc = firstVal.getAs<Loc>();
476 Optional<Loc> secondLoc = secondVal.getAs<Loc>();
476 Optional<Loc> secondLoc = secondVal.getAs<Loc>();
530 Optional<Loc> FirstStartLoc = FirstStart.getAs<Loc>();
530 Optional<Loc> FirstStartLoc = FirstStart.getAs<Loc>();
537 Optional<Loc> FirstEndLoc = FirstEnd.getAs<Loc>();
537 Optional<Loc> FirstEndLoc = FirstEnd.getAs<Loc>();
917 Optional<Loc> BufLoc = BufStart.getAs<Loc>();
917 Optional<Loc> BufLoc = BufStart.getAs<Loc>();
957 Optional<Loc> L = V.getAs<Loc>();
957 Optional<Loc> L = V.getAs<Loc>();
2060 if (Optional<Loc> SearchStrLoc = SearchStrVal.getAs<Loc>()) {
2060 if (Optional<Loc> SearchStrLoc = SearchStrVal.getAs<Loc>()) {
2294 Loc VarLoc = state->getLValue(D, C.getLocationContext());
tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp 51 auto Param = SVB.makeLoc(State->getRegion(MD->getParamDecl(0), LCtx));
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp 285 Optional<Loc> LValLoc = LVal.getAs<Loc>();
285 Optional<Loc> LValLoc = LVal.getAs<Loc>();
956 Optional<Loc> LValLoc = LVal.getAs<Loc>();
956 Optional<Loc> LValLoc = LVal.getAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp 214 if (!location.getAs<Loc>())
tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp 138 if (!BooleanArgVal.getAs<Loc>())
140 BooleanArgVal = C.getState()->getSVal(BooleanArgVal.castAs<Loc>());
261 Optional<Loc> FieldLoc =
262 State->getLValue(SuccessField, Instance).getAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp 565 Optional<Loc> AddrLoc = AddrVal.getAs<Loc>();
565 Optional<Loc> AddrLoc = AddrVal.getAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp 998 if (auto loc = RHS.getAs<Loc>()) {
1035 if (auto ValAsLoc = RHS.getAs<Loc>()) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp 1519 if (!Loc::isLocType(CE->getType()))
1566 if (!RetVal->getAs<Loc>())
1763 if (!location.getAs<Loc>())
2712 if (ArgSVal.getAs<Loc>()) {
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp 206 if (loc.isUndef() || !loc.getAs<Loc>())
228 setFlag<NSErrorOut>(state, state->getSVal(loc.castAs<Loc>()), C);
233 setFlag<CFErrorOut>(state, state->getSVal(loc.castAs<Loc>()), C);
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp 106 if (haveAttrNonNull && !DV->getAs<Loc>()) {
128 if (!V.getAs<Loc>())
tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp 77 SVal V = State->getSVal(location.castAs<Loc>());
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp 254 unsigned selfFlags = getSelfFlags(state->getSVal(argV.castAs<Loc>()), C);
285 addSelfFlag(state, state->getSVal(argV.castAs<Loc>()), prevFlags, C);
311 addSelfFlag(state, state->getSVal(location.castAs<Loc>()), SelfFlag_Self,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 287 Optional<Loc> IVarLoc = C.getSVal(IRE).getAs<Loc>();
287 Optional<Loc> IVarLoc = C.getSVal(IRE).getAs<Loc>();
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp 89 if (auto L = Call.getReturnValue().getAs<Loc>())
108 if (auto L = Msg.getArgSVal(1).getAs<Loc>())
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp 461 Loc ThisLoc =
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp 178 Reg = C.getState()->getSVal(SV.castAs<Loc>()).getAsRegion();
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 201 if (auto FieldL = State->getSVal(ME, LCtx).getAs<Loc>())
835 Options.ShouldSuppressNullReturnPaths && V.getAs<Loc>())
986 if (Optional<Loc> LValue = RetVal.getAs<Loc>())
986 if (Optional<Loc> LValue = RetVal.getAs<Loc>())
995 if (Optional<Loc> RetLoc = RetVal.getAs<Loc>())
995 if (Optional<Loc> RetLoc = RetVal.getAs<Loc>())
1032 Optional<Loc> LValue;
1034 if ((LValue = V.getAs<Loc>())) {
1059 if (V.getAs<Loc>()) {
1089 if (V.getAs<Loc>())
1154 Optional<Loc> ArgV = Call->getArgSVal(I).getAs<Loc>();
1154 Optional<Loc> ArgV = Call->getArgSVal(I).getAs<Loc>();
1575 if (Constraint.getAs<Loc>()) {
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp 530 Loc ParamLoc = SVB.makeLoc(MRMgr.getVarRegion(ParamDecl, CalleeCtx));
799 Loc ThisLoc = SVB.getCXXThis(MD, CalleeCtx);
881 Loc ThisLoc = SVB.getCXXThis(LambdaOperatorDecl, CalleeCtx);
917 Loc ThisLoc = SVB.getCXXThis(MD, CalleeCtx);
1353 Loc SelfLoc = SVB.makeLoc(MRMgr.getVarRegion(SelfD, CalleeCtx));
1398 Loc ThisPtr = SVB.getCXXThis(Ctor, CalleeCtx);
1414 Loc ThisPtr = SVB.getCXXThis(Dtor, CalleeCtx);
tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp 108 LHSVal.castAs<Loc>());
tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp 35 DefinedSVal V = Loc::isLocType(Ty) ? getLocFromSymbol(State, Sym)
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 282 if (Optional<Loc> LV = V.getAs<Loc>()) {
282 if (Optional<Loc> LV = V.getAs<Loc>()) {
298 if (Optional<Loc> LV = V.getAs<Loc>()) {
298 if (Optional<Loc> LV = V.getAs<Loc>()) {
426 State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false);
438 State->bindLoc(Reg.castAs<Loc>(), InitValWithAdjustments, LC, false);
440 State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false);
867 if (Optional<Loc> LValueLoc = LValue.getAs<Loc>())
867 if (Optional<Loc> LValueLoc = LValue.getAs<Loc>())
1029 Loc ThisPtr = getSValBuilder().getCXXThis(CurDtor,
1052 Loc ThisStorageLoc =
1054 Loc ThisLoc = State->getSVal(ThisStorageLoc).castAs<Loc>();
1054 Loc ThisLoc = State->getSVal(ThisStorageLoc).castAs<Loc>();
2449 Loc CXXThis =
2777 if (!location.getAs<Loc>()) {
2794 state = state->bindLoc(location.castAs<Loc>(),
2869 V = state->getSVal(location.castAs<Loc>(), LoadTy);
2980 if (Optional<Loc> LV = X.getAs<Loc>())
2980 if (Optional<Loc> LV = X.getAs<Loc>())
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 32 if (Other.getAs<Loc>() &&
564 Loc CLLoc = State->getLValue(CL, LCtx);
1036 if (Optional<Loc> LV = V.getAs<Loc>()) {
1036 if (Optional<Loc> LV = V.getAs<Loc>()) {
1037 Loc X = svalBuilder.makeNullWithType(Ex->getType());
1132 if (Loc::isLocType(U->getType())) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp 77 if (Optional<Loc> L = V.getAs<Loc>())
77 if (Optional<Loc> L = V.getAs<Loc>())
142 Loc ThisPtr =
411 if (auto L = Target.getAs<Loc>())
467 Loc ThisPtr = getSValBuilder().getCXXThis(CurCtor,
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp 128 if (!V.getAs<Loc>())
252 ThisV = state->getSVal(ThisV.castAs<Loc>());
621 ThisV = State->getSVal(ThisV.castAs<Loc>());
650 R = State->getSVal(Target.castAs<Loc>(), E->getType());
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp 119 ProgramStateRef ProgramState::bindLoc(Loc LV,
224 ProgramStateRef ProgramState::killBinding(Loc LV) const {
254 if (Loc::isLocType(T) || T->isIntegralOrEnumerationType())
261 SVal ProgramState::getSVal(Loc location, QualType T) const {
270 if (!T.isNull() && (T->isIntegralOrEnumerationType() || Loc::isLocType(T))) {
291 if (V.getAs<Loc>())
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp 370 if (Loc::isLocType(SSE->getLHS()->getType())) {
371 return Loc::isLocType(SSE->getRHS()->getType());
tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp 54 if (Loc::isLocType(SSE->getLHS()->getType()) &&
55 Loc::isLocType(SSE->getRHS()->getType())) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp 402 SVal ArrayToPointer(Loc Array, QualType ElementTy) override;
443 StoreRef Bind(Store store, Loc LV, SVal V) override {
447 RegionBindingsRef bind(RegionBindingsConstRef B, Loc LV, SVal V);
521 StoreRef killBinding(Store ST, Loc L) override;
549 SVal getBinding(Store S, Loc L, QualType T) override {
561 SVal getBinding(RegionBindingsConstRef B, Loc L, QualType T = QualType());
1119 else if (Loc::isLocType(VR->getValueType())) {
1126 if (Optional<Loc> L = V.getAs<Loc>()) {
1126 if (Optional<Loc> L = V.getAs<Loc>()) {
1430 SVal RegionStoreManager::ArrayToPointer(Loc Array, QualType T) {
1447 SVal RegionStoreManager::getBinding(RegionBindingsConstRef B, Loc L, QualType T) {
2154 StoreRef RegionStoreManager::killBinding(Store ST, Loc L) {
2166 RegionStoreManager::bind(RegionBindingsConstRef B, Loc L, SVal V) {
2210 if (Loc::isLocType(T))
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 53 if (Loc::isLocType(type))
129 if (Loc::isLocType(T))
166 if (Loc::isLocType(type))
184 if (Loc::isLocType(type))
214 if (Loc::isLocType(type))
233 if (Loc::isLocType(T))
368 if (Loc::isLocType(E->getType()))
417 if (Optional<Loc> LV = lhs.getAs<Loc>()) {
417 if (Optional<Loc> LV = lhs.getAs<Loc>()) {
418 if (Optional<Loc> RV = rhs.getAs<Loc>())
418 if (Optional<Loc> RV = rhs.getAs<Loc>())
424 if (Optional<Loc> RV = rhs.getAs<Loc>()) {
424 if (Optional<Loc> RV = rhs.getAs<Loc>()) {
536 if (!Loc::isLocType(originalTy) &&
547 if (Optional<Loc> L = val.getAs<Loc>())
547 if (Optional<Loc> L = val.getAs<Loc>())
550 Loc L = val.castAs<nonloc::LocAsInteger>().getLoc();
561 if (castTy->isIntegralOrEnumerationType() && Loc::isLocType(originalTy))
562 return evalCastFromLoc(val.castAs<Loc>(), castTy);
565 if (Loc::isLocType(castTy) && originalTy->isIntegralOrEnumerationType()) {
588 val = StateMgr.ArrayToPointer(val.castAs<Loc>(), elemTy);
603 return evalCastFromLoc(val.castAs<Loc>(), castTy);
614 if (!Loc::isLocType(castTy)) {
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp 305 castAs<Loc>().dumpToStream(os);
tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp 29 if (Optional<Loc> LV = Cond.getAs<Loc>()) {
29 if (Optional<Loc> LV = Cond.getAs<Loc>()) {
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp 28 SVal evalCastFromLoc(Loc val, QualType castTy) override;
41 Loc lhs, Loc rhs, QualType resultTy) override;
41 Loc lhs, Loc rhs, QualType resultTy) override;
43 Loc lhs, NonLoc rhs, QualType resultTy) override;
70 return Val.getAs<Loc>() ? evalCastFromLoc(Val.castAs<Loc>(), CastTy)
70 return Val.getAs<Loc>() ? evalCastFromLoc(Val.castAs<Loc>(), CastTy)
75 bool isLocType = Loc::isLocType(castTy);
130 SVal SimpleSValBuilder::evalCastFromLoc(Loc val, QualType castTy) {
138 if (Loc::isLocType(castTy) || castTy->isReferenceType())
554 Loc lhsL = lhs.castAs<nonloc::LocAsInteger>().getLoc();
823 Loc lhs, Loc rhs,
823 Loc lhs, Loc rhs,
1105 Loc lhs, NonLoc rhs, QualType resultTy) {
1265 return Loc::isLocType(S->getType()) ? (SVal)SVB.makeIntLocVal(*I)
1287 if (Loc::isLocType(S->getLHS()->getType()) &&
1314 if (Loc::isLocType(S->getLHS()->getType()) !=
1315 Loc::isLocType(S->getRHS()->getType()))
tools/clang/lib/StaticAnalyzer/Core/Store.cpp 55 Store = Bind(Store.getStore(), I.first.castAs<Loc>(), I.second);
436 Loc BaseL = Base.castAs<Loc>();
436 Loc BaseL = Base.castAs<Loc>();
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp 351 if (Loc::isLocType(T))
tools/clang/unittests/StaticAnalyzer/StoreTest.cpp 37 Loc LX0 = loc::MemRegionVal(MRMgr.getVarRegion(VDX0, SFC));
38 Loc LY0 = loc::MemRegionVal(MRMgr.getVarRegion(VDY0, SFC));
39 Loc LZ0 = loc::MemRegionVal(MRMgr.getVarRegion(VDZ0, SFC));
40 Loc LX1 = loc::MemRegionVal(MRMgr.getVarRegion(VDX1, SFC));
41 Loc LY1 = loc::MemRegionVal(MRMgr.getVarRegion(VDY1, SFC));
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&>,
107 return __and_<is_convertible<const _U1&, _T1>,
107 return __and_<is_convertible<const _U1&, _T1>,
114 return __and_<is_constructible<_T1, _U1&&>,
114 return __and_<is_constructible<_T1, _U1&&>,
121 return __and_<is_convertible<_U1&&, _T1>,
121 return __and_<is_convertible<_U1&&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
133 return __and_<is_constructible<_T1, const _U1&>,
133 return __and_<is_constructible<_T1, const _U1&>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
147 return __and_<is_constructible<_T1, _U1&&>,
147 return __and_<is_constructible<_T1, _U1&&>,
209 : private __pair_base<_T1, _T2>
211 typedef _T1 first_type; /// @c first_type is the first bound type
214 _T1 first; /// @c first is a copy of the first object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
291 constexpr pair(const pair<_U1, _U2>& __p)
311 constexpr pair(_U1&& __x, const _T2& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
360 constexpr pair(pair<_U1, _U2>&& __p)
361 : first(std::forward<_U1>(__p.first)),
379 __and_<is_copy_assignable<_T1>,
390 __and_<is_move_assignable<_T1>,
522 constexpr pair<typename __decay_and_strip<_T1>::__type,
524 make_pair(_T1&& __x, _T2&& __y)
526 typedef typename __decay_and_strip<_T1>::__type __ds_type1;
529 return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
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
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
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>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) type;
1545 : public __is_convertible_helper<_From, _To>::type
1554 { 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; };
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;