|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/AST/ASTContext.h 85 class APValue;
tools/clang/include/clang/AST/Expr.h 40 class APValue;
tools/clang/include/clang/Sema/Initialization.h 41 class APValue;
tools/clang/include/clang/Sema/Overload.h 45 class APValue;
References
include/llvm/ADT/ArrayRef.h 43 using iterator = const T *;
44 using const_iterator = const T *;
50 const T *Data = nullptr;
66 /*implicit*/ ArrayRef(const T &OneElt)
70 /*implicit*/ ArrayRef(const T *data, size_t length)
74 ArrayRef(const T *begin, const T *end)
74 ArrayRef(const T *begin, const T *end)
81 /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
87 /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
92 /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
97 /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
100 /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
145 const T *data() const { return Data; }
151 const T &front() const {
157 const T &back() const {
163 template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
178 ArrayRef<T> slice(size_t N, size_t M) const {
184 ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
187 ArrayRef<T> drop_front(size_t N = 1) const {
193 ArrayRef<T> drop_back(size_t N = 1) const {
200 template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
206 template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
211 ArrayRef<T> take_front(size_t N = 1) const {
218 ArrayRef<T> take_back(size_t N = 1) const {
226 template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
232 template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
239 const T &operator[](size_t Index) const {
249 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
257 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
263 std::vector<T> vec() const {
270 operator std::vector<T>() const {
include/llvm/ADT/Optional.h 39 T value;
60 explicit OptionalStorage(in_place_t, Args &&... args)
61 : value(std::forward<Args>(args)...), hasVal(true) {}
72 T &getValue() LLVM_LVALUE_FUNCTION noexcept {
76 T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
81 T &&getValue() && noexcept {
87 template <class... Args> void emplace(Args &&... args) {
89 ::new ((void *)std::addressof(value)) T(std::forward<Args>(args)...);
89 ::new ((void *)std::addressof(value)) T(std::forward<Args>(args)...);
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 75 AlignedCharArrayUnion<T> FirstEl;
114 using value_type = T;
115 using iterator = T *;
116 using const_iterator = const T *;
121 using reference = T &;
122 using const_reference = const T &;
123 using pointer = T *;
124 using const_pointer = const T *;
179 class SmallVectorTemplateBase : public SmallVectorTemplateCommon<T> {
183 static void destroy_range(T *S, T *E) {
183 static void destroy_range(T *S, T *E) {
211 void push_back(const T &Elt) {
214 ::new ((void*) this->end()) T(Elt);
218 void push_back(T &&Elt) {
221 ::new ((void*) this->end()) T(::std::move(Elt));
240 T *NewElts = static_cast<T*>(llvm::safe_malloc(NewCapacity*sizeof(T)));
240 T *NewElts = static_cast<T*>(llvm::safe_malloc(NewCapacity*sizeof(T)));
315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
316 using SuperClass = SmallVectorTemplateBase<T>;
357 void resize(size_type N, const T &NV) {
374 LLVM_NODISCARD T pop_back_val() {
397 void append(size_type NumInputs, const T &Elt) {
405 void append(std::initializer_list<T> IL) {
412 void assign(size_type NumElts, const T &Elt) {
429 void assign(std::initializer_list<T> IL) {
467 iterator insert(iterator I, T &&Elt) {
497 iterator insert(iterator I, const T &Elt) {
526 iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
637 void insert(iterator I, std::initializer_list<T> IL) {
820 AlignedCharArrayUnion<T> InlineElts[N];
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
846 explicit SmallVector(size_t Size, const T &Value = T())
865 SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
884 SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/Support/AlignOf.h 30 T t;
39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
50 llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/Alignment.h 103 return Constant<std::alignment_of<T>::value>();
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
include/llvm/Support/TrailingObjects.h 65 FirstAlignment = alignof(First),
134 : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
137 typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
161 static const NextTy *
163 TrailingObjectsBase::OverloadToken<NextTy>) {
176 static NextTy *
178 TrailingObjectsBase::OverloadToken<NextTy>) {
179 auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
185 return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
197 (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
199 sizeof(NextTy) * Count1,
231 TrailingTys...>::Alignment,
232 BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
233 BaseTy, TrailingTys...> {
241 trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
284 TrailingObjectsBase::OverloadToken<T>) {
302 template <typename T> const T *getTrailingObjects() const {
314 template <typename T> T *getTrailingObjects() {
332 TrailingTys, size_t>::type... Counts) {
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
344 TrailingTys, size_t>::type... Counts) {
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/AST/APValue.h 246 APValue *Elts;
252 APValue *Elts;
258 APValue *Elts;
266 APValue *Value;
295 explicit APValue(const APValue *E, unsigned N) : Kind(None) {
304 APValue(const APValue &RHS);
305 APValue(APValue &&RHS) : Kind(None) { swap(RHS); }
322 explicit APValue(const FieldDecl *D, const APValue &V = APValue())
334 static APValue IndeterminateValue() {
335 APValue Result;
353 void swap(APValue &RHS);
454 APValue &getVectorElt(unsigned I) {
459 const APValue &getVectorElt(unsigned I) const {
467 APValue &getArrayInitializedElt(unsigned I) {
472 const APValue &getArrayInitializedElt(unsigned I) const {
478 APValue &getArrayFiller() {
483 const APValue &getArrayFiller() const {
503 APValue &getStructBase(unsigned i) {
507 APValue &getStructField(unsigned i) {
511 const APValue &getStructBase(unsigned i) const {
514 const APValue &getStructField(unsigned i) const {
522 APValue &getUnionValue() {
526 const APValue &getUnionValue() const {
555 void setVector(const APValue *E, unsigned N) {
557 ((Vec*)(char*)Data.buffer)->Elts = new APValue[N];
581 void setUnion(const FieldDecl *Field, const APValue &Value) {
593 APValue &operator=(APValue RHS) {
593 APValue &operator=(APValue RHS) {
655 static clang::APValue::LValueBase getEmptyKey();
656 static clang::APValue::LValueBase getTombstoneKey();
657 static unsigned getHashValue(const clang::APValue::LValueBase &Base);
658 static bool isEqual(const clang::APValue::LValueBase &LHS,
659 const clang::APValue::LValueBase &RHS);
tools/clang/include/clang/AST/ASTContext.h 278 llvm::DenseMap<const MaterializeTemporaryExpr *, APValue *>
282 mutable llvm::SmallVector<APValue *, 0> APValueCleanups;
2769 template <typename T> void addDestruction(T *Ptr) const {
2770 if (!std::is_trivially_destructible<T>::value) {
2832 APValue *getMaterializedTemporaryValue(const MaterializeTemporaryExpr *E,
tools/clang/include/clang/AST/Decl.h 820 APValue Evaluated;
1270 APValue *evaluateValue() const;
1271 APValue *evaluateValue(SmallVectorImpl<PartialDiagnosticAt> &Notes) const;
1276 APValue *getEvaluatedValue() const;
tools/clang/include/clang/AST/Expr.h 521 bool isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result = nullptr,
582 APValue Val;
672 bool EvaluateAsInitializer(APValue &Result, const ASTContext &Ctx,
680 bool EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx,
955 private llvm::TrailingObjects<ConstantExpr, APValue, uint64_t> {
965 size_t numTrailingObjects(OverloadToken<APValue>) const {
981 APValue &APValueResult() {
984 return *getTrailingObjects<APValue>();
986 const APValue &APValueResult() const {
998 const APValue &Result);
1005 static ResultStorageKind getStorageKind(const APValue &Value);
1020 void SetResult(APValue Value, const ASTContext &Context) {
1023 void MoveIntoResult(APValue &Value, const ASTContext &Context);
1025 APValue::ValueKind getResultAPValueKind() const {
1031 APValue getAPValueResult() const;
1032 const APValue &getResultAsAPValue() const { return APValueResult(); }
4282 APValue EvaluateInContext(const ASTContext &Ctx,
tools/clang/include/clang/Sema/Initialization.h 1210 APValue *ConstantValue) const;
tools/clang/include/clang/Sema/Overload.h 361 APValue &ConstantValue, QualType &ConstantType,
tools/clang/include/clang/Sema/Sema.h 2967 APValue &Value, CCEKind CCE);
tools/clang/include/clang/Serialization/ASTReader.h 2233 APValue ReadAPValue(const RecordData &Record, unsigned &Idx);
2628 APValue readAPValue() { return Reader->ReadAPValue(Record, Idx); }
tools/clang/include/clang/Serialization/ASTWriter.h 867 void AddAPValue(const APValue &Value);
tools/clang/lib/AST/APValue.cpp 45 APValue::LValueBase APValue::LValueBase::getDynamicAlloc(DynamicAllocLValue LV,
53 APValue::LValueBase APValue::LValueBase::getTypeInfo(TypeInfoLValue LV,
81 bool operator==(const APValue::LValueBase &LHS,
82 const APValue::LValueBase &RHS) {
94 APValue::LValueBase Base;
114 clang::APValue::LValueBase
120 clang::APValue::LValueBase
127 llvm::hash_code hash_value(const APValue::LValueBase &Base) {
136 const clang::APValue::LValueBase &Base) {
141 const clang::APValue::LValueBase &LHS,
142 const clang::APValue::LValueBase &RHS) {
220 Elts(new APValue[NumElts + (NumElts != Size ? 1 : 0)]),
225 Elts(new APValue[NumBases+NumFields]),
231 APValue::UnionData::UnionData() : Field(nullptr), Value(new APValue) {}
236 APValue::APValue(const APValue &RHS) : Kind(None) {
373 void APValue::swap(APValue &RHS) {
476 case APValue::None:
479 case APValue::Indeterminate:
482 case APValue::Int:
488 case APValue::Float:
491 case APValue::FixedPoint:
494 case APValue::Vector: {
505 case APValue::ComplexInt:
508 case APValue::ComplexFloat:
512 case APValue::LValue: {
634 case APValue::Array: {
653 case APValue::Struct: {
679 case APValue::Union:
687 case APValue::MemberPointer:
696 case APValue::AddrLabelDiff:
733 const APValue::LValueBase APValue::getLValueBase() const {
753 ArrayRef<APValue::LValuePathEntry> APValue::getLValuePath() const {
tools/clang/lib/AST/ASTContext.cpp 878 for (std::pair<const MaterializeTemporaryExpr *, APValue *> &MTVPair :
885 for (APValue *Value : APValueCleanups)
10327 APValue *
10333 APValue *&MTVI = MaterializedTemporaryValues[E];
10335 MTVI = new (*this) APValue;
tools/clang/lib/AST/ASTImporter.cpp 6471 APValue::ValueKind Kind = E->getResultAPValueKind();
6472 if (Kind == APValue::Int || Kind == APValue::Float ||
6472 if (Kind == APValue::Int || Kind == APValue::Float ||
6473 Kind == APValue::FixedPoint || Kind == APValue::ComplexFloat ||
6473 Kind == APValue::FixedPoint || Kind == APValue::ComplexFloat ||
6474 Kind == APValue::ComplexInt)
tools/clang/lib/AST/Decl.cpp 2341 APValue *VarDecl::evaluateValue() const {
2346 APValue *VarDecl::evaluateValue(
2392 APValue *VarDecl::getEvaluatedValue() const {
tools/clang/lib/AST/Expr.cpp 245 ConstantExpr::getStorageKind(const APValue &Value) {
247 case APValue::None:
248 case APValue::Indeterminate:
250 case APValue::Int:
268 ConstantExprBits.APValueKind = APValue::None;
271 ::new (getTrailingObjects<APValue>()) APValue();
271 ::new (getTrailingObjects<APValue>()) APValue();
283 unsigned Size = totalSizeToAlloc<APValue, uint64_t>(
292 const APValue &Result) {
308 unsigned Size = totalSizeToAlloc<APValue, uint64_t>(
316 void ConstantExpr::MoveIntoResult(APValue &Value, const ASTContext &Context) {
351 APValue ConstantExpr::getAPValueResult() const {
2173 APValue SourceLocExpr::EvaluateInContext(const ASTContext &Ctx,
2191 using LValuePathEntry = APValue::LValuePathEntry;
tools/clang/lib/AST/ExprConstant.cpp 77 static QualType getType(APValue::LValueBase B) {
124 static const FieldDecl *getAsField(APValue::LValuePathEntry E) {
129 static const CXXRecordDecl *getAsBaseClass(APValue::LValuePathEntry E) {
134 static bool isVirtualBaseClass(APValue::LValuePathEntry E) {
177 static bool isBaseAnAllocSizeCall(APValue::LValueBase Base) {
193 findMostDerivedSubobject(ASTContext &Ctx, APValue::LValueBase Base,
194 ArrayRef<APValue::LValuePathEntry> Path,
270 typedef APValue::LValuePathEntry PathEntry;
283 SubobjectDesignator(ASTContext &Ctx, const APValue &V)
304 void truncate(ASTContext &Ctx, APValue::LValueBase Base,
505 APValue *Arguments;
514 typedef std::map<MapKeyTy, APValue> MapTy;
551 APValue *Arguments);
555 APValue *getTemporary(const void *Key, unsigned Version) {
569 APValue *getCurrentTemporary(const void *Key) {
589 APValue &createTemporary(const KeyT *Key, QualType T,
626 APValue::LValueBase LVBase, APValue &Value,
626 APValue::LValueBase LVBase, APValue &Value,
632 llvm::PointerIntPair<APValue*, 1, bool> Value;
633 APValue::LValueBase Base;
637 Cleanup(APValue *Val, APValue::LValueBase Base, QualType T,
637 Cleanup(APValue *Val, APValue::LValueBase Base, QualType T,
662 APValue::LValueBase Base;
663 ArrayRef<APValue::LValuePathEntry> Path;
683 using Base = DenseMapInfo<APValue::LValueBase>;
703 APValue Value;
783 APValue::LValueBase EvaluatingDecl;
796 APValue *EvaluatingDeclValue;
852 isEvaluatingCtorDtor(APValue::LValueBase Base,
853 ArrayRef<APValue::LValuePathEntry> Path) {
938 void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value,
938 void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value,
987 APValue *createHeapAlloc(const Expr *E, QualType T, LValue &LV);
1377 APValue *Arguments)
1442 void moveInto(APValue &v) const {
1448 void setFrom(const APValue &v) {
1463 APValue::LValueBase Base;
1469 const APValue::LValueBase getLValueBase() const { return Base; }
1479 void moveInto(APValue &V) const {
1488 void setFrom(ASTContext &Ctx, const APValue &V) {
1497 void set(APValue::LValueBase B, bool BInvalid = false) {
1523 void setInvalid(APValue::LValueBase B, unsigned I = 0) {
1528 APValue Printable;
1644 void moveInto(APValue &V) const {
1647 void setFrom(const APValue &V) {
1723 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E);
1724 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info,
1735 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result,
1739 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result,
1741 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result);
1766 APValue &CallStackFrame::createTemporary(const KeyT *Key, QualType T,
1769 APValue::LValueBase Base(Key, Index, Version);
1771 APValue &Result = Temporaries[MapKeyTy(Key, Version)];
1787 APValue *EvalInfo::createHeapAlloc(const Expr *E, QualType T, LValue &LV) {
1794 LV.set(APValue::LValueBase::getDynamicAlloc(DA, T));
1813 APValue Val;
1828 const APValue &Arg = Arguments[ArgIndex];
1842 APValue Scratch;
1856 static bool IsGlobalLValue(APValue::LValueBase B) {
1964 static void NoteLValueLocation(EvalInfo &Info, APValue::LValueBase Base) {
1992 QualType Type, const APValue &Value,
2006 APValue::LValueBase Base = LVal.getLValueBase();
2075 APValue *V = Info.Ctx.getMaterializedTemporaryValue(MTE, false);
2112 const APValue &Value,
2156 QualType Type, const APValue &Value,
2240 const APValue &Value,
2251 QualType Type, const APValue &Value) {
2272 static bool EvalPointerValueAsBool(const APValue &Value, bool &Result) {
2287 static bool HandleConversionToBool(const APValue &Val, bool &Result) {
2289 case APValue::None:
2290 case APValue::Indeterminate:
2292 case APValue::Int:
2295 case APValue::FixedPoint:
2298 case APValue::Float:
2301 case APValue::ComplexInt:
2305 case APValue::ComplexFloat:
2309 case APValue::LValue:
2311 case APValue::MemberPointer:
2314 case APValue::Vector:
2315 case APValue::Array:
2316 case APValue::Struct:
2317 case APValue::Union:
2318 case APValue::AddrLabelDiff:
2328 APValue Val;
2390 APValue &Value, const FieldDecl *FD) {
2412 APValue SVal;
2431 APValue &Elt = SVal.getVectorElt(i);
2824 APValue *&Result, const LValue *LVal) {
2963 APValue &Result,
2985 static void expandArray(APValue &Array, unsigned Index) {
2995 APValue NewValue(APValue::UninitArray(), NewElts, Size);
3064 APValue::LValueBase Base,
3117 APValue::LValueBase Base;
3119 APValue *Value;
3124 CompleteObject(APValue::LValueBase Base, APValue *Value, QualType Type)
3124 CompleteObject(APValue::LValueBase Base, APValue *Value, QualType Type)
3173 APValue *O = Obj.Value;
3359 APValue &Result;
3364 bool found(APValue &Subobj, QualType SubobjType) {
3384 const SubobjectDesignator &Sub, APValue &Result,
3394 APValue &NewVal;
3410 bool found(APValue &Subobj, QualType SubobjType) {
3443 APValue &NewVal) {
3549 APValue *BaseVal = nullptr;
3684 APValue Val;
3728 const LValue &LVal, APValue &RVal,
3748 APValue Lit;
3784 QualType LValType, APValue &Val) {
3803 const APValue &RHS;
3819 bool found(APValue &Subobj, QualType SubobjType) {
3821 case APValue::Int:
3823 case APValue::Float:
3825 case APValue::ComplexInt:
3826 case APValue::ComplexFloat:
3830 case APValue::LValue:
3875 bool foundPointer(APValue &Subobj, QualType SubobjType) {
3909 BinaryOperatorKind Opcode, const APValue &RVal) {
3929 APValue *Old;
3943 bool found(APValue &Subobj, QualType SubobjType) {
3952 case APValue::Int:
3954 case APValue::Float:
3956 case APValue::ComplexInt:
3960 case APValue::ComplexFloat:
3964 case APValue::LValue:
4028 bool foundPointer(APValue &Subobj, QualType SubobjType) {
4053 QualType LValType, bool IsIncrement, APValue *Old) {
4234 static APValue getDefaultInitValue(QualType T) {
4239 APValue Struct(APValue::UninitStruct(), RD->getNumBases(),
4258 APValue Array(APValue::UninitArray(), 0, AT->getSize().getZExtValue());
4264 return APValue::IndeterminateValue();
4290 APValue &Val =
4343 APValue &Value;
4951 bool found(APValue &Subobj, QualType SubobjType) { return true; }
4983 APValue Val;
5051 ArrayRef<APValue::LValuePathEntry> Path = This.Designator.Entries;
5146 APValue &Result,
5288 bool found(APValue &Subobj, QualType SubobjType) {
5428 typedef SmallVector<APValue, 8> ArgVector;
5475 EvalInfo &Info, APValue &Result,
5500 APValue RHSValue;
5536 APValue *ArgValues,
5538 EvalInfo &Info, APValue &Result) {
5557 APValue RetVal;
5628 APValue *Value = &Result;
5736 EvalInfo &Info, APValue &Result) {
5746 const LValue &This, APValue &Value,
5753 APValue Printable;
5781 APValue &Elem = Value.getArrayInitializedElt(Size - 1);
5858 APValue RetVal;
5880 APValue *SubobjectValue = &Value.getStructField(FD->getFieldIndex());
5899 APValue *SubobjectValue = &Value.getStructBase(BasesLeft);
5920 bool found(APValue &Subobj, QualType SubobjType) {
5946 APValue::LValueBase LVBase, APValue &Value,
5946 APValue::LValueBase LVBase, APValue &Value,
6016 APValue *Val = Info.createHeapAlloc(E, AllocType, Result);
6186 bool visit(const APValue &Val, QualType Ty) {
6191 bool visit(const APValue &Val, QualType Ty, CharUnits Offset) {
6200 case APValue::Indeterminate:
6201 case APValue::None:
6204 case APValue::Int:
6206 case APValue::Float:
6208 case APValue::Array:
6210 case APValue::Struct:
6213 case APValue::ComplexInt:
6214 case APValue::ComplexFloat:
6215 case APValue::Vector:
6216 case APValue::FixedPoint:
6219 case APValue::Union:
6220 case APValue::MemberPointer:
6221 case APValue::AddrLabelDiff: {
6228 case APValue::LValue:
6234 bool visitRecord(const APValue &Val, QualType Ty, CharUnits Offset) {
6274 bool visitArray(const APValue &Val, QualType Ty, CharUnits Offset) {
6285 const APValue &SubObj = Val.getArrayInitializedElt(I);
6292 const APValue &Filler = Val.getArrayFiller();
6316 static Optional<BitCastBuffer> convert(EvalInfo &Info, const APValue &Src,
6346 Optional<APValue> visit(const BuiltinType *T, CharUnits Offset,
6372 return APValue::IndeterminateValue();
6392 Optional<APValue> visit(const RecordType *RTy, CharUnits Offset) {
6400 APValue ResultVal(APValue::UninitStruct(), NumBases,
6412 Optional<APValue> SubObj = visitType(
6438 Optional<APValue> SubObj = visitType(FieldTy, FieldOffset);
6448 Optional<APValue> visit(const EnumType *Ty, CharUnits Offset) {
6459 Optional<APValue> visit(const ConstantArrayType *Ty, CharUnits Offset) {
6463 APValue ArrayValue(APValue::UninitArray(), Size, Size);
6465 Optional<APValue> ElementValue =
6475 Optional<APValue> visit(const Type *Ty, CharUnits Offset) {
6479 Optional<APValue> visitType(QualType Ty, CharUnits Offset) {
6504 static Optional<APValue> convert(EvalInfo &Info, BitCastBuffer &Buffer,
6574 static bool handleLValueToRValueBitCast(EvalInfo &Info, APValue &DestValue,
6575 APValue &SourceValue,
6586 APValue SourceRValue;
6600 Optional<APValue> MaybeDestValue =
6614 bool DerivedSuccess(const APValue &V, const Expr *E) {
6767 APValue Result;
6821 if (APValue *Value = Info.CurrentCall->getCurrentTemporary(E))
6835 APValue Result;
6841 bool handleCallExpr(const CallExpr *E, APValue &Result,
7030 APValue Val;
7049 APValue Result;
7060 APValue AtomicVal;
7077 APValue RVal;
7085 APValue DestValue, SourceValue;
7110 APValue RVal;
7141 APValue ReturnValue;
7188 bool Success(APValue::LValueBase B) {
7202 bool Success(const APValue &V, const Expr *E) {
7243 APValue RefValue;
7420 APValue RVal;
7452 APValue *V;
7481 APValue *Value;
7564 return Success(APValue::LValueBase::getTypeInfo(TypeInfo, E->getType()));
7649 APValue RHS;
7671 APValue NewVal;
7761 static bool evaluateLValueAsAllocSize(EvalInfo &Info, APValue::LValueBase Base,
7819 bool Success(const APValue &V, const Expr *E) {
7874 APValue RVal;
7889 APValue LValResult = E->EvaluateInContext(
8004 APValue Value;
8029 APValue &Value = Info.CurrentCall->createTemporary(
8051 APValue RVal;
8296 APValue Char;
8358 APValue Val;
8439 APValue Val;
8463 APValue &Result, const InitListExpr *ILE,
8589 APValue *Val;
8597 APValue *Value;
8601 bool found(APValue &Subobj, QualType SubobjType) {
8676 bool Success(const APValue &V, const Expr *E) {
8754 APValue &Result;
8757 RecordExprEvaluator(EvalInfo &info, const LValue &This, APValue &Result)
8760 bool Success(const APValue &V, const Expr *E) {
8794 const LValue &This, APValue &Result) {
8873 APValue DerivedObject;
8880 APValue *Value = &DerivedObject;
8950 APValue &FieldVal = Result.getStructBase(ElementNo);
8988 APValue &FieldVal = Result.getStructField(Field->getFieldIndex());
9145 APValue &FieldVal = Result.getStructField(Field->getFieldIndex());
9157 APValue &Result, EvalInfo &Info) {
9179 APValue &Value =
9224 APValue &Result;
9227 VectorExprEvaluator(EvalInfo &info, APValue &Result)
9230 bool Success(ArrayRef<APValue> V, const Expr *E) {
9236 bool Success(const APValue &V, const Expr *E) {
9254 static bool EvaluateVector(const Expr* E, APValue& Result, EvalInfo &Info) {
9268 APValue Val = APValue();
9284 SmallVector<APValue, 4> Elts(NElts, Val);
9296 SmallVector<APValue, 4> Elts;
9336 SmallVector<APValue, 4> Elements;
9347 APValue v;
9382 APValue ZeroElement;
9389 SmallVector<APValue, 4> Elements(VT->getNumElements(), ZeroElement);
9406 APValue &Result;
9409 ArrayExprEvaluator(EvalInfo &Info, const LValue &This, APValue &Result)
9412 bool Success(const APValue &V, const Expr *E) {
9444 APValue *Value, QualType Type);
9454 APValue &Result, EvalInfo &Info) {
9460 APValue &Result, const InitListExpr *ILE,
9506 APValue Filler;
9597 APValue *Value,
9605 APValue Filler =
9646 APValue &Result;
9648 IntExprEvaluator(EvalInfo &info, APValue &result)
9651 bool Success(const llvm::APSInt &SI, const Expr *E, APValue &Result) {
9665 bool Success(const llvm::APInt &I, const Expr *E, APValue &Result) {
9679 bool Success(uint64_t Value, const Expr *E, APValue &Result) {
9693 bool Success(const APValue &V, const Expr *E) {
9788 APValue &Result;
9791 FixedPointExprEvaluator(EvalInfo &info, APValue &result)
9804 bool Success(const APValue &V, const Expr *E) {
9838 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result,
9845 APValue Val;
9859 APValue Evaluated = E->EvaluateInContext(
9867 APValue Val;
10106 static bool EvaluateBuiltinConstantPForLValue(const APValue &LV) {
10107 APValue::LValueBase Base = LV.getLValueBase();
10156 APValue V;
10163 if (V.getKind() == APValue::LValue)
10176 static QualType getObjectType(APValue::LValueBase B) {
10458 APValue RVal;
10489 if (E->getResultAPValueKind() != APValue::None)
10738 APValue Char;
10839 APValue Char1, Char2;
10884 APValue Char1, Char2;
11062 APValue APV{Result};
11106 APValue Val;
11138 APValue &FinalResult;
11141 DataRecursiveIntBinOpEvaluator(IntExprEvaluator &IntEval, APValue &Result)
11168 bool Success(uint64_t Value, const Expr *E, APValue &Result) {
11171 bool Success(const APSInt &Value, const Expr *E, APValue &Result) {
11190 const BinaryOperator *E, APValue &Result);
11255 static void addOrSubLValueAsInteger(APValue &LVal, const APSInt &Index,
11270 const BinaryOperator *E, APValue &Result) {
11308 const APValue &LHSVal = LHSResult.Val;
11309 const APValue &RHSVal = RHSResult.Val;
12153 APValue Val;
12200 APValue V;
12379 bool Success(const APValue &V, const Expr *e) {
12615 bool Success(const APValue &V, const Expr *e) {
13108 APValue &Result;
13110 AtomicExprEvaluator(EvalInfo &Info, const LValue *This, APValue &Result)
13113 bool Success(const APValue &V, const Expr *E) {
13139 static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result,
13156 bool Success(const APValue &V, const Expr *e) { return true; }
13273 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E) {
13313 APValue &Value =
13320 APValue &Value = Info.CurrentCall->createTemporary(E, T, false, LV);
13334 APValue &Value = Info.CurrentCall->createTemporary(E, Unqual, false, LV);
13355 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info, const LValue &This,
13383 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result) {
13595 bool Expr::EvaluateAsInitializer(APValue &Value, const ASTContext &Ctx,
13674 APValue DestroyedValue = *getEvaluatedValue();
14228 APValue Result;
14291 bool Expr::isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result,
14306 APValue Scratch;
14324 bool Expr::EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx,
14406 APValue Scratch;
14445 APValue ResultScratch;
tools/clang/lib/AST/Interp/Boolean.h 59 APValue toAPValue() const { return APValue(toAPSInt()); }
tools/clang/lib/AST/Interp/ByteCodeExprGen.h 65 ByteCodeExprGen(Context &Ctx, Program &P, Tys &&... Args)
tools/clang/lib/AST/Interp/Context.cpp 50 APValue Dummy;
55 APValue &Result) {
61 APValue &Result) {
119 InterpResult Context::Run(State &Parent, Function *Func, APValue &Result) {
tools/clang/lib/AST/Interp/Context.h 61 InterpResult evaluateAsRValue(State &Parent, const Expr *E, APValue &Result);
65 APValue &Result);
81 InterpResult Run(State &Parent, Function *Func, APValue &Result);
tools/clang/lib/AST/Interp/EvalEmitter.cpp 23 InterpStack &Stk, APValue &Result)
109 std::function<bool(QualType, const Pointer &, APValue &)> Composite;
121 APValue Value;
146 APValue &Value = R.getStructField(I);
178 APValue &Slot = R.getArrayInitializedElt(I);
tools/clang/lib/AST/Interp/EvalEmitter.h 47 APValue &Result);
91 APValue &Result;
tools/clang/lib/AST/Interp/Integral.h 115 APValue toAPValue() const { return APValue(toAPSInt()); }
115 APValue toAPValue() const { return APValue(toAPSInt()); }
tools/clang/lib/AST/Interp/Interp.cpp 34 static bool Ret(InterpState &S, CodePtr &PC, APValue &Result) {
56 static bool RetVoid(InterpState &S, CodePtr &PC, APValue &Result) {
74 static bool RetValue(InterpState &S, CodePtr &Pt, APValue &Result) {
401 bool Interpret(InterpState &S, APValue &Result) {
tools/clang/lib/AST/Interp/Interp.h 41 template <typename T> bool ReturnValue(const T &V, APValue &R) {
955 bool Interpret(InterpState &S, APValue &Result);
tools/clang/lib/AST/Interp/Pointer.cpp 75 APValue Pointer::toAPValue() const {
76 APValue::LValueBase Base;
77 llvm::SmallVector<APValue::LValuePathEntry, 5> Path;
111 Path.push_back(APValue::LValuePathEntry::ArrayIndex(Ptr.getIndex()));
tools/clang/lib/AST/Interp/Pointer.h 55 APValue toAPValue() const;
tools/clang/lib/AST/JSONNodeDumper.cpp 1274 if (CE->getResultAPValueKind() != APValue::None) {
tools/clang/lib/AST/TextNodeDumper.cpp 687 if (Node->getResultAPValueKind() != APValue::None) {
tools/clang/lib/CodeGen/CGCXXABI.cpp 112 llvm::Constant *CGCXXABI::EmitMemberPointer(const APValue &MP, QualType MPT) {
251 CharUnits CGCXXABI::getMemberPointerPathAdjustment(const APValue &MP) {
tools/clang/lib/CodeGen/CGCXXABI.h 196 virtual llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT);
224 CharUnits getMemberPointerPathAdjustment(const APValue &MP);
tools/clang/lib/CodeGen/CGDebugInfo.cpp 1355 const APValue *Value = Var->evaluateValue();
4443 void CGDebugInfo::EmitGlobalVariable(const ValueDecl *VD, const APValue &Init) {
tools/clang/lib/CodeGen/CGDebugInfo.h 467 void EmitGlobalVariable(const ValueDecl *VD, const APValue &Init);
tools/clang/lib/CodeGen/CGExprConstant.cpp 546 const APValue &Value, QualType ValTy);
567 bool Build(const APValue &Val, const RecordDecl *RD, bool IsPrimaryBase,
760 bool ConstStructBuilder::Build(const APValue &Val, const RecordDecl *RD,
814 const APValue &FieldValue =
860 const APValue &Val,
1357 ConstantEmitter::tryEmitAbstract(const APValue &value, QualType destType) {
1377 ConstantEmitter::emitAbstract(SourceLocation loc, const APValue &value,
1402 llvm::Constant *ConstantEmitter::emitForInitializer(const APValue &value,
1646 ConstantEmitter::tryEmitAbstractForMemory(const APValue &value,
1660 llvm::Constant *ConstantEmitter::tryEmitPrivateForMemory(const APValue &value,
1742 const APValue &Value;
1749 ConstantLValueEmitter(ConstantEmitter &emitter, const APValue &value,
1757 ConstantLValue tryEmitBase(const APValue::LValueBase &base);
1803 const APValue::LValueBase &base = Value.getLValueBase();
1864 ConstantLValueEmitter::tryEmitBase(const APValue::LValueBase &base) {
2011 llvm::Constant *ConstantEmitter::tryEmitPrivate(const APValue &Value,
2014 case APValue::None:
2015 case APValue::Indeterminate:
2018 case APValue::LValue:
2020 case APValue::Int:
2022 case APValue::FixedPoint:
2025 case APValue::ComplexInt: {
2038 case APValue::Float: {
2048 case APValue::ComplexFloat: {
2061 case APValue::Vector: {
2066 const APValue &Elt = Value.getVectorElt(I);
2076 case APValue::AddrLabelDiff: {
2094 case APValue::Struct:
2095 case APValue::Union:
2097 case APValue::Array: {
2147 case APValue::MemberPointer:
tools/clang/lib/CodeGen/CGExprScalar.cpp 645 APValue Evaluated =
tools/clang/lib/CodeGen/CodeGenFunction.cpp 2011 const APValue &Init) {
tools/clang/lib/CodeGen/CodeGenFunction.h 3590 void EmitDeclRefExprDbgValue(const DeclRefExpr *E, const APValue &Init);
tools/clang/lib/CodeGen/CodeGenModule.cpp 5027 APValue *Value = nullptr;
tools/clang/lib/CodeGen/ConstantEmitter.h 75 llvm::Constant *emitForInitializer(const APValue &value, LangAS destAddrSpace,
103 llvm::Constant *emitAbstract(SourceLocation loc, const APValue &value,
110 llvm::Constant *tryEmitAbstract(const APValue &value, QualType T);
111 llvm::Constant *tryEmitAbstractForMemory(const APValue &value, QualType T);
133 llvm::Constant *tryEmitPrivate(const APValue &value, QualType T);
134 llvm::Constant *tryEmitPrivateForMemory(const APValue &value, QualType T);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 144 llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
1018 llvm::Constant *ItaniumCXXABI::EmitMemberPointer(const APValue &MP,
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 637 llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
2715 llvm::Constant *MicrosoftCXXABI::EmitMemberPointer(const APValue &MP,
tools/clang/lib/Sema/SemaChecking.cpp10169 static IntRange GetValueRange(ASTContext &C, APValue &result, QualType Ty,
10458 static bool IsSameFloatAfterCast(const APValue &value,
tools/clang/lib/Sema/SemaDecl.cpp12524 APValue Value;
tools/clang/lib/Sema/SemaExpr.cpp10467 APValue PreNarrowingValue;
tools/clang/lib/Sema/SemaInit.cpp 9509 APValue ConstantValue;
tools/clang/lib/Sema/SemaOverload.cpp 304 ASTContext &Ctx, const Expr *Converted, APValue &ConstantValue,
5481 QualType T, APValue &Value,
5556 APValue PreNarrowingValue;
5622 APValue &Value, CCEKind CCE) {
5631 APValue V;
6477 APValue Result;
6538 APValue Result;
tools/clang/lib/Sema/SemaTemplate.cpp 6450 APValue Value;
6467 case APValue::None:
6471 case APValue::Indeterminate:
6474 case APValue::Int:
6478 case APValue::MemberPointer: {
6495 case APValue::LValue: {
6504 APValue::LValueBase Base = Value.getLValueBase();
6538 case APValue::AddrLabelDiff:
6540 case APValue::FixedPoint:
6541 case APValue::Float:
6542 case APValue::ComplexInt:
6543 case APValue::ComplexFloat:
6544 case APValue::Vector:
6545 case APValue::Array:
6546 case APValue::Struct:
6547 case APValue::Union:
tools/clang/lib/Serialization/ASTReader.cpp 9601 APValue ASTReader::ReadAPValue(const RecordData &Record, unsigned &Idx) {
9604 case APValue::None:
9606 case APValue::Indeterminate:
9607 return APValue::IndeterminateValue();
9608 case APValue::Int:
9610 case APValue::Float: {
9615 case APValue::FixedPoint: {
9619 case APValue::ComplexInt: {
9623 case APValue::ComplexFloat: {
9631 case APValue::LValue:
9632 case APValue::Vector:
9633 case APValue::Array:
9634 case APValue::Struct:
9635 case APValue::Union:
9636 case APValue::MemberPointer:
9637 case APValue::AddrLabelDiff:
tools/clang/lib/Serialization/ASTWriter.cpp 5460 void ASTRecordWriter::AddAPValue(const APValue &Value) {
5461 APValue::ValueKind Kind = Value.getKind();
5464 case APValue::None:
5465 case APValue::Indeterminate:
5467 case APValue::Int:
5470 case APValue::Float:
5475 case APValue::FixedPoint: {
5480 case APValue::ComplexInt: {
5485 case APValue::ComplexFloat: {
5494 case APValue::LValue:
5495 case APValue::Vector:
5496 case APValue::Array:
5497 case APValue::Struct:
5498 case APValue::Union:
5499 case APValue::MemberPointer:
5500 case APValue::AddrLabelDiff:
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp 72 static APValue getConstantExprValue(const ASTContext &Ctx, const Expr &E) {
76 APValue Constant;
84 APValue Constant = getConstantExprValue(Context, E);
93 APValue Constant = getConstantExprValue(Context, E);
227 APValue Constant = getConstantExprValue(Context, Rhs);
331 APValue Constant = getConstantExprValue(Context, Rhs);
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/std_function.h 299 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/bits/stl_construct.h 74 _Construct(_T1* __p, _Args&&... __args)
74 _Construct(_T1* __p, _Args&&... __args)
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
97 _Destroy(_Tp* __pointer)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 181 typedef _Tp value_type;
183 typedef _Tp* pointer;
184 typedef _Tp& reference;
usr/include/c++/7.4.0/bits/stl_map.h 103 typedef _Tp mapped_type;
104 typedef std::pair<const _Key, _Tp> value_type;
usr/include/c++/7.4.0/bits/stl_pair.h 209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second 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>;
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
usr/include/c++/7.4.0/bits/stl_uninitialized.h 144 const _Tp& __x)
182 const _Tp& __x)
usr/include/c++/7.4.0/initializer_list 50 typedef _E value_type;
51 typedef const _E& reference;
52 typedef const _E& const_reference;
54 typedef const _E* iterator;
55 typedef const _E* const_iterator;
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>
1447 : public __and_<is_destructible<_Tp>, integral_constant<bool,
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; };