|
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 250 class UnknownVal : public DefinedOrUnknownSVal {
262 class DefinedSVal : public DefinedOrUnknownSVal {
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 {
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/PathSensitive/MemRegion.h 453 virtual DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const {
494 DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const override;
555 DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const override;
785 DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const override;
820 DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const override;
1024 DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const override;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h 182 LLVM_NODISCARD ProgramStateRef assume(DefinedOrUnknownSVal cond,
191 assume(DefinedOrUnknownSVal cond) const;
194 assumeInBound(DefinedOrUnknownSVal idx, DefinedOrUnknownSVal upperBound,
194 assumeInBound(DefinedOrUnknownSVal idx, DefinedOrUnknownSVal upperBound,
203 LLVM_NODISCARD ProgramStateRef assumeInclusiveRange(DefinedOrUnknownSVal Val,
214 assumeInclusiveRange(DefinedOrUnknownSVal Val, const llvm::APSInt &From,
658 inline ProgramStateRef ProgramState::assume(DefinedOrUnknownSVal Cond,
668 ProgramState::assume(DefinedOrUnknownSVal Cond) const {
677 DefinedOrUnknownSVal Val, const llvm::APSInt &From, const llvm::APSInt &To,
689 ProgramState::assumeInclusiveRange(DefinedOrUnknownSVal Val,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 152 DefinedOrUnknownSVal evalEQ(ProgramStateRef state, DefinedOrUnknownSVal lhs,
152 DefinedOrUnknownSVal evalEQ(ProgramStateRef state, DefinedOrUnknownSVal lhs,
153 DefinedOrUnknownSVal rhs);
195 DefinedOrUnknownSVal makeZeroVal(QualType type);
198 DefinedOrUnknownSVal getRegionValueSymbolVal(const TypedValueRegion *region);
206 DefinedOrUnknownSVal conjureSymbolVal(const void *symbolTag,
210 DefinedOrUnknownSVal conjureSymbolVal(const void *symbolTag,
215 DefinedOrUnknownSVal conjureSymbolVal(const Stmt *stmt,
223 DefinedOrUnknownSVal getConjuredHeapSymbolVal(const Expr *E,
227 DefinedOrUnknownSVal getDerivedRegionValueSymbolVal(
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 103 T castAs() const {
111 Optional<T> getAs() const {
112 if (!T::isKind(*this))
250 class UnknownVal : public DefinedOrUnknownSVal {
262 class DefinedSVal : public DefinedOrUnknownSVal {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h 153 virtual DefinedOrUnknownSVal getSizeInElements(ProgramStateRef state,
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp 47 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
47 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
57 DefinedOrUnknownSVal NumElements
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp 180 DefinedOrUnknownSVal extentVal =
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp 908 return State->assume(Val.castAs<DefinedOrUnknownSVal>(), true);
1180 if (Optional<DefinedOrUnknownSVal> DV = Val.getAs<DefinedOrUnknownSVal>())
1180 if (Optional<DefinedOrUnknownSVal> DV = Val.getAs<DefinedOrUnknownSVal>())
tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp 52 state = state->assume(Arg.castAs<DefinedOrUnknownSVal>(), true);
93 DefinedOrUnknownSVal Extent = R->getExtent(svalBuilder);
94 DefinedOrUnknownSVal extentMatchesSizeArg =
95 svalBuilder.evalEQ(state, Extent, Size.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp 275 DefinedOrUnknownSVal zero = svalBuilder.makeZeroVal(Ty);
335 DefinedOrUnknownSVal Size = Extent.castAs<DefinedOrUnknownSVal>();
335 DefinedOrUnknownSVal Size = Extent.castAs<DefinedOrUnknownSVal>();
338 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
338 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
499 Optional<DefinedOrUnknownSVal> reverseTest =
500 reverse.getAs<DefinedOrUnknownSVal>();
544 Optional<DefinedOrUnknownSVal> OverlapTest =
545 Overlap.getAs<DefinedOrUnknownSVal>();
697 state->assume(willOverflow.castAs<DefinedOrUnknownSVal>());
784 state = state->assume(evalLength.castAs<DefinedOrUnknownSVal>(), true);
942 DefinedOrUnknownSVal ExtentSize = Extent.castAs<DefinedOrUnknownSVal>();
942 DefinedOrUnknownSVal ExtentSize = Extent.castAs<DefinedOrUnknownSVal>();
945 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
945 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
1075 DefinedOrUnknownSVal Extent = SubReg->getExtent(svalBuilder);
1122 State->assume(NewStrLenGESize.castAs<DefinedOrUnknownSVal>(), true),
1308 DefinedOrUnknownSVal LV =
1309 state->getSVal(Left, LCtx).castAs<DefinedOrUnknownSVal>();
1310 DefinedOrUnknownSVal RV =
1311 state->getSVal(Right, LCtx).castAs<DefinedOrUnknownSVal>();
1314 DefinedOrUnknownSVal SameBuf = svalBuilder.evalEQ(state, LV, RV);
1404 DefinedOrUnknownSVal result = UnknownVal();
1426 .castAs<DefinedOrUnknownSVal>());
1449 .castAs<DefinedOrUnknownSVal>(), true);
1455 .castAs<DefinedOrUnknownSVal>(), true);
1461 result = strLength.castAs<DefinedOrUnknownSVal>();
1606 .castAs<DefinedOrUnknownSVal>());
1694 copiedLessThanBound.castAs<DefinedOrUnknownSVal>(), true);
1706 copiedLessThanSrc.castAs<DefinedOrUnknownSVal>(), true);
1765 state = state->assume(sourceInResult.castAs<DefinedOrUnknownSVal>(),
1778 state->assume(destInResult.castAs<DefinedOrUnknownSVal>(), true);
1937 DefinedOrUnknownSVal LV = s1Val.castAs<DefinedOrUnknownSVal>();
1937 DefinedOrUnknownSVal LV = s1Val.castAs<DefinedOrUnknownSVal>();
1938 DefinedOrUnknownSVal RV = s2Val.castAs<DefinedOrUnknownSVal>();
1938 DefinedOrUnknownSVal RV = s2Val.castAs<DefinedOrUnknownSVal>();
1942 DefinedOrUnknownSVal SameBuf = svalBuilder.evalEQ(state, LV, RV);
2301 DefinedOrUnknownSVal strLength =
2302 getCStringLength(C, state, Init, StrVal).castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp 331 std::tie(StNonNull, StNull) = State->assume(L.castAs<DefinedOrUnknownSVal>());
386 State->assume(V.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp 38 DefinedOrUnknownSVal, CheckerContext &)>;
76 void evalCast(const CallEvent &Call, DefinedOrUnknownSVal DV,
78 void evalDynCast(const CallEvent &Call, DefinedOrUnknownSVal DV,
80 void evalCastOrNull(const CallEvent &Call, DefinedOrUnknownSVal DV,
82 void evalDynCastOrNull(const CallEvent &Call, DefinedOrUnknownSVal DV,
84 void evalCastAs(const CallEvent &Call, DefinedOrUnknownSVal DV,
86 void evalGetAs(const CallEvent &Call, DefinedOrUnknownSVal DV,
88 void evalIsa(const CallEvent &Call, DefinedOrUnknownSVal DV,
90 void evalIsaAndNonNull(const CallEvent &Call, DefinedOrUnknownSVal DV,
155 static void addCastTransition(const CallEvent &Call, DefinedOrUnknownSVal DV,
217 DefinedOrUnknownSVal DV,
263 DefinedOrUnknownSVal DV,
271 DefinedOrUnknownSVal DV,
278 DefinedOrUnknownSVal DV,
288 void CastValueChecker::evalCast(const CallEvent &Call, DefinedOrUnknownSVal DV,
294 DefinedOrUnknownSVal DV,
301 DefinedOrUnknownSVal DV,
308 DefinedOrUnknownSVal DV,
320 DefinedOrUnknownSVal DV,
328 DefinedOrUnknownSVal DV,
335 DefinedOrUnknownSVal DV,
340 void CastValueChecker::evalGetAs(const CallEvent &Call, DefinedOrUnknownSVal DV,
350 void CastValueChecker::evalIsa(const CallEvent &Call, DefinedOrUnknownSVal DV,
366 DefinedOrUnknownSVal DV,
394 Optional<DefinedOrUnknownSVal> DV;
407 DV = Call.getArgSVal(0).getAs<DefinedOrUnknownSVal>();
416 DV = Call.getArgSVal(0).getAs<DefinedOrUnknownSVal>();
424 DV = InstanceCall->getCXXThisVal().getAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp 941 M.getState()->assume(Arg.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp 211 DefinedOrUnknownSVal location = l.castAs<DefinedOrUnknownSVal>();
211 DefinedOrUnknownSVal location = l.castAs<DefinedOrUnknownSVal>();
263 std::tie(StNonNull, StNull) = State->assume(V.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp 35 const DefinedOrUnknownSVal CompareValue;
41 const DefinedOrUnknownSVal CompareValue)
45 DefinedOrUnknownSVal EnumDeclValue = SVB.makeIntVal(EnumDeclInitValue);
46 DefinedOrUnknownSVal ElemEqualsValueToCast =
111 const llvm::Optional<DefinedOrUnknownSVal> ValueToCast =
112 C.getSVal(CE->getSubExpr()).getAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp 120 State->assume(AssertionVal.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp 273 if (!Val1.getAs<DefinedOrUnknownSVal>() ||
274 !Val2.getAs<DefinedOrUnknownSVal>())
277 auto ValuesEqual =
278 C.getSValBuilder().evalEQ(State, Val1.castAs<DefinedOrUnknownSVal>(),
279 Val2.castAs<DefinedOrUnknownSVal>());
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp 163 const auto &Size = Ctx.getStoreManager().getSizeInElements(
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp 1405 DefinedOrUnknownSVal Extent = Region->getExtent(svalBuilder);
1411 DefinedOrUnknownSVal extentMatchesSize = svalBuilder.evalEQ(
1412 State, Extent, SizeInBytes.castAs<DefinedOrUnknownSVal>());
1540 if (Optional<DefinedOrUnknownSVal> DefinedSize =
1541 Size.getAs<DefinedOrUnknownSVal>()) {
1543 DefinedOrUnknownSVal Extent = R->getExtent(svalBuilder);
1544 DefinedOrUnknownSVal extentMatchesSize =
1758 if (!ArgVal.getAs<DefinedOrUnknownSVal>())
1760 DefinedOrUnknownSVal location = ArgVal.castAs<DefinedOrUnknownSVal>();
1760 DefinedOrUnknownSVal location = ArgVal.castAs<DefinedOrUnknownSVal>();
2407 if (!Arg0Val.getAs<DefinedOrUnknownSVal>())
2409 DefinedOrUnknownSVal arg0Val = Arg0Val.castAs<DefinedOrUnknownSVal>();
2409 DefinedOrUnknownSVal arg0Val = Arg0Val.castAs<DefinedOrUnknownSVal>();
2413 DefinedOrUnknownSVal PtrEQ =
2423 if (!TotalSize.getAs<DefinedOrUnknownSVal>())
2427 DefinedOrUnknownSVal SizeZero =
2428 svalBuilder.evalEQ(State, TotalSize.castAs<DefinedOrUnknownSVal>(),
tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp 78 Optional<DefinedOrUnknownSVal> Constr = V.getAs<DefinedOrUnknownSVal>();
78 Optional<DefinedOrUnknownSVal> Constr = V.getAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp 262 static NullConstraint getNullConstraint(DefinedOrUnknownSVal Val,
535 auto RetSVal = C.getSVal(S).getAs<DefinedOrUnknownSVal>();
660 auto ArgSVal = Call.getArgSVal(Idx++).getAs<DefinedOrUnknownSVal>();
793 if (auto DefOrUnknown = Receiver.getAs<DefinedOrUnknownSVal>()) {
951 auto RegionSVal = C.getSVal(CE).getAs<DefinedOrUnknownSVal>();
1068 auto ValDefOrUnknown = V.getAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 545 if (auto DL = L.getAs<DefinedOrUnknownSVal>()) {
953 if (auto L = RetVal.getAs<DefinedOrUnknownSVal>())
tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp 49 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
49 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
57 DefinedOrUnknownSVal NumElements
tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp 32 DefinedOrUnknownSVal RetVal) const;
75 checkReference(C, RetE, RetVal.castAs<DefinedOrUnknownSVal>());
104 DefinedOrUnknownSVal RetVal) const {
tools/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp 74 auto ReturnDV = ReturnV.getAs<DefinedOrUnknownSVal>();
113 State = State->assume(ReturnV.castAs<DefinedOrUnknownSVal>(), ExpectedValue);
tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp 334 .getAs<DefinedOrUnknownSVal>())
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp 52 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
52 DefinedOrUnknownSVal Idx = ER->getIndex().castAs<DefinedOrUnknownSVal>();
53 DefinedOrUnknownSVal NumElements = C.getStoreManager().getSizeInElements(
tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp 139 DefinedOrUnknownSVal Zero = svalBuilder.makeZeroVal(Ty);
170 DefinedOrUnknownSVal Extent =
172 DefinedOrUnknownSVal ArraySize = ArraySizeVal.castAs<DefinedOrUnknownSVal>();
172 DefinedOrUnknownSVal ArraySize = ArraySizeVal.castAs<DefinedOrUnknownSVal>();
173 DefinedOrUnknownSVal sizeIsKnown =
tools/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp 155 Optional<DefinedOrUnknownSVal> DVal =
156 VforkRetVal.getAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 262 Optional<DefinedOrUnknownSVal> Constraint =
263 Constraint_untested.getAs<DefinedOrUnknownSVal>();
2350 DefinedOrUnknownSVal CondV = CondV_untested.castAs<DefinedOrUnknownSVal>();
2350 DefinedOrUnknownSVal CondV = CondV_untested.castAs<DefinedOrUnknownSVal>();
2495 state = state->assume(V.castAs<DefinedOrUnknownSVal>(), true);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 477 DefinedOrUnknownSVal NewSym =
1124 DefinedOrUnknownSVal SymVal =
1133 DefinedOrUnknownSVal Constraint =
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp 720 State = State->assume(RetVal.castAs<DefinedOrUnknownSVal>(), true);
795 if (auto dSymVal = symVal.getAs<DefinedOrUnknownSVal>())
tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp 190 DefinedOrUnknownSVal receiverVal =
191 recVal.castAs<DefinedOrUnknownSVal>();
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp 166 DefinedOrUnknownSVal TypedValueRegion::getExtent(SValBuilder &svalBuilder) const {
180 DefinedOrUnknownSVal FieldRegion::getExtent(SValBuilder &svalBuilder) const {
185 DefinedOrUnknownSVal Extent = DeclRegion::getExtent(svalBuilder);
199 DefinedOrUnknownSVal AllocaRegion::getExtent(SValBuilder &svalBuilder) const {
203 DefinedOrUnknownSVal SymbolicRegion::getExtent(SValBuilder &svalBuilder) const {
207 DefinedOrUnknownSVal StringRegion::getExtent(SValBuilder &svalBuilder) const {
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp 316 ProgramStateRef ProgramState::assumeInBound(DefinedOrUnknownSVal Idx,
317 DefinedOrUnknownSVal UpperBound,
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp 629 DefinedOrUnknownSVal getSizeInElements(ProgramStateRef state,
1150 DefinedOrUnknownSVal V =
1172 DefinedOrUnknownSVal V = svalBuilder.conjureSymbolVal(baseR, Ex, LCtx,
1243 DefinedOrUnknownSVal V =
1250 DefinedOrUnknownSVal V = svalBuilder.conjureSymbolVal(baseR, Ex, LCtx,
1393 DefinedOrUnknownSVal
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 52 DefinedOrUnknownSVal SValBuilder::makeZeroVal(QualType type) {
117 DefinedOrUnknownSVal
135 DefinedOrUnknownSVal SValBuilder::conjureSymbolVal(const void *SymbolTag,
153 DefinedOrUnknownSVal SValBuilder::conjureSymbolVal(const void *symbolTag,
172 DefinedOrUnknownSVal SValBuilder::conjureSymbolVal(const Stmt *stmt,
190 DefinedOrUnknownSVal
220 DefinedOrUnknownSVal
446 DefinedOrUnknownSVal SValBuilder::evalEQ(ProgramStateRef state,
447 DefinedOrUnknownSVal lhs,
448 DefinedOrUnknownSVal rhs) {
450 .castAs<DefinedOrUnknownSVal>();
usr/include/c++/7.4.0/bits/invoke.h 73 return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
96 std::forward<_Args>(__args)...);
usr/include/c++/7.4.0/bits/move.h 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
usr/include/c++/7.4.0/bits/std_function.h 371 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
374 std::forward<_ArgTypes>(__args)...);
390 : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
595 _Res operator()(_ArgTypes... __args) const;
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
689 typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler;
706 return _M_invoker(_M_functor, std::forward<_ArgTypes>(__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
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>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
1955 { typedef _Tp type; };
2253 inline typename add_rvalue_reference<_Tp>::type
2304 ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
2315 typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
2428 std::declval<_Fn>()(std::declval<_Args>()...)
2439 typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
2452 _Functor, _ArgTypes...
2458 : public __invoke_result<_Functor, _ArgTypes...>
2783 std::declval<_Args>()...));