|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/AST/TemplateName.h 32 enum OverloadedOperatorKind : int;
References
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 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/ASTContext.h 2006 OverloadedOperatorKind Operator) const;
tools/clang/include/clang/AST/Decl.h 2450 OverloadedOperatorKind getOverloadedOperator() const;
tools/clang/include/clang/AST/DeclCXX.h 1935 static bool isStaticOverloadedOperator(OverloadedOperatorKind OOK) {
tools/clang/include/clang/AST/DeclarationName.h 106 OverloadedOperatorKind Kind = OO_None;
462 OverloadedOperatorKind getCXXOverloadedOperator() const {
639 DeclarationName getCXXOperatorName(OverloadedOperatorKind Op) {
tools/clang/include/clang/AST/Expr.h 2110 static Opcode getOverloadedOpcode(OverloadedOperatorKind OO, bool Postfix);
2114 static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
3469 static Opcode getOverloadedOpcode(OverloadedOperatorKind OO);
3473 static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
tools/clang/include/clang/AST/ExprCXX.h 89 CXXOperatorCallExpr(OverloadedOperatorKind OpKind, Expr *Fn,
98 Create(const ASTContext &Ctx, OverloadedOperatorKind OpKind, Expr *Fn,
107 OverloadedOperatorKind getOperator() const {
112 static bool isAssignmentOp(OverloadedOperatorKind Opc) {
132 OverloadedOperatorKind Operator = getOperator();
tools/clang/include/clang/AST/TemplateName.h 463 OverloadedOperatorKind Operator;
486 OverloadedOperatorKind Operator)
491 OverloadedOperatorKind Operator,
514 OverloadedOperatorKind getOperator() const {
535 OverloadedOperatorKind Operator) {
tools/clang/include/clang/Basic/OperatorKinds.h 31 const char *getOperatorSpelling(OverloadedOperatorKind Operator);
35 inline OverloadedOperatorKind
36 getRewrittenOverloadedOperator(OverloadedOperatorKind Kind) {
tools/clang/include/clang/Sema/DeclSpec.h 955 OverloadedOperatorKind Operator;
1049 OverloadedOperatorKind Op,
tools/clang/include/clang/Sema/Overload.h 916 OperatorRewriteInfo(OverloadedOperatorKind Op, bool AllowRewritten)
920 OverloadedOperatorKind OriginalOperator;
949 bool shouldAddReversed(OverloadedOperatorKind Op);
tools/clang/include/clang/Sema/ParsedTemplate.h 166 OverloadedOperatorKind Operator;
196 OverloadedOperatorKind OperatorKind,
222 OverloadedOperatorKind OperatorKind,
tools/clang/include/clang/Sema/Sema.h 3158 void AddMemberOperatorCandidates(OverloadedOperatorKind Op,
3166 void AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
3556 void LookupOverloadedOperatorName(OverloadedOperatorKind Op, Scope *S,
tools/clang/include/clang/Serialization/ASTBitCodes.h 2121 OverloadedOperatorKind getOperatorKind() const {
tools/clang/lib/AST/ASTContext.cpp 7802 OverloadedOperatorKind Operator) const {
tools/clang/lib/AST/Decl.cpp 3429 OverloadedOperatorKind FunctionDecl::getOverloadedOperator() const {
tools/clang/lib/AST/DeclCXX.cpp 1974 OverloadedOperatorKind OOK = getDeclName().getCXXOverloadedOperator();
tools/clang/lib/AST/Expr.cpp 1300 UnaryOperator::getOverloadedOpcode(OverloadedOperatorKind OO, bool Postfix) {
1315 OverloadedOperatorKind UnaryOperator::getOverloadedOperator(Opcode Opc) {
2039 BinaryOperator::getOverloadedOpcode(OverloadedOperatorKind OO) {
2077 OverloadedOperatorKind BinaryOperator::getOverloadedOperator(Opcode Opc) {
2078 static const OverloadedOperatorKind OverOps[] = {
tools/clang/lib/AST/ExprCXX.cpp 614 CXXOperatorCallExpr::CXXOperatorCallExpr(OverloadedOperatorKind OpKind,
636 const ASTContext &Ctx, OverloadedOperatorKind OpKind, Expr *Fn,
661 OverloadedOperatorKind Kind = getOperator();
tools/clang/lib/AST/ItaniumMangle.cpp 508 void mangleOperatorName(OverloadedOperatorKind OO, unsigned Arity);
2150 CXXNameMangler::mangleOperatorName(OverloadedOperatorKind OO, unsigned Arity) {
tools/clang/lib/AST/MicrosoftMangle.cpp 343 void mangleOperatorName(OverloadedOperatorKind OO, SourceLocation Loc);
1163 void MicrosoftCXXNameMangler::mangleOperatorName(OverloadedOperatorKind OO,
tools/clang/lib/AST/OpenMPClause.cpp 1422 OverloadedOperatorKind OOK =
1445 OverloadedOperatorKind OOK =
1467 OverloadedOperatorKind OOK =
tools/clang/lib/AST/StmtPrinter.cpp 1643 OverloadedOperatorKind Kind = Node->getOperator();
tools/clang/lib/Analysis/ThreadSafety.cpp 2054 auto OEop = OE->getOperator();
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 420 OverloadedOperatorKind k = OCE->getOperator();
tools/clang/lib/Basic/IdentifierTable.cpp 685 const char *clang::getOperatorSpelling(OverloadedOperatorKind Operator) {
tools/clang/lib/CodeGen/CodeGenModule.cpp 1843 auto Kind = FD->getDeclName().getCXXOverloadedOperator();
tools/clang/lib/Index/IndexBody.cpp 109 OverloadedOperatorKind Op = CXXOp->getOperator();
tools/clang/lib/Parse/ParseExprCXX.cpp 2369 OverloadedOperatorKind OpKind =
2451 OverloadedOperatorKind Op = OO_None;
tools/clang/lib/Parse/ParseOpenMP.cpp 177 OverloadedOperatorKind OOK = OO_None;
2402 auto OOK = OO_None;
tools/clang/lib/Parse/ParseTemplate.cpp 1168 OverloadedOperatorKind OpKind =
tools/clang/lib/Sema/DeclSpec.cpp 1369 OverloadedOperatorKind Op,
tools/clang/lib/Sema/SemaChecking.cpp 9994 OverloadedOperatorKind Op = FD->getOverloadedOperator();
tools/clang/lib/Sema/SemaDeclCXX.cpp13845 OverloadedOperatorKind Op = FnDecl->getOverloadedOperator();
tools/clang/lib/Sema/SemaExceptionSpec.cpp 277 OverloadedOperatorKind OO = New->getDeclName().getCXXOverloadedOperator();
tools/clang/lib/Sema/SemaExpr.cpp 7662 OverloadedOperatorKind OO = Call->getOperator();
13226 OverloadedOperatorKind Kind = FD->getOverloadedOperator();
13316 OverloadedOperatorKind OverOp
13324 if (OverloadedOperatorKind ExtraOp = getRewrittenOverloadedOperator(OverOp))
13747 OverloadedOperatorKind OverOp = UnaryOperator::getOverloadedOperator(Opc);
tools/clang/lib/Sema/SemaExprCXX.cpp 1760 OverloadedOperatorKind Kind = FD.getDeclName().getCXXOverloadedOperator();
4466 static bool HasNoThrowOperator(const RecordType *RT, OverloadedOperatorKind Op,
tools/clang/lib/Sema/SemaInit.cpp 6749 auto OO = Callee->getOverloadedOperator();
6750 return OO == OverloadedOperatorKind::OO_Subscript ||
6751 OO == OverloadedOperatorKind::OO_Star;
tools/clang/lib/Sema/SemaLookup.cpp 3039 void Sema::LookupOverloadedOperatorName(OverloadedOperatorKind Op, Scope *S,
tools/clang/lib/Sema/SemaOpenMP.cpp 75 llvm::SmallVector<std::pair<Expr *, OverloadedOperatorKind>, 4>;
5392 OverloadedOperatorKind OOK = OO_Amp);
5782 auto Op = CE->getOperator();
6408 Expr *Inc, OverloadedOperatorKind OOK) {
13057 OverloadedOperatorKind OOK = DN.getCXXOverloadedOperator();
14386 OverloadedOperatorKind OOK = OO_None;
tools/clang/lib/Sema/SemaOverload.cpp 852 OverloadedOperatorKind Op) {
7428 void Sema::AddMemberOperatorCandidates(OverloadedOperatorKind Op,
8058 void addPlusPlusMinusMinusArithmeticOverloads(OverloadedOperatorKind Op) {
8346 void addBinaryPlusOrMinusPointerOverloads(OverloadedOperatorKind Op) {
8489 void addBinaryBitwiseArithmeticOverloads(OverloadedOperatorKind Op) {
8932 void Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
12195 DiagnoseTwoPhaseOperatorLookup(Sema &SemaRef, OverloadedOperatorKind Op,
12535 OverloadedOperatorKind Op = UnaryOperator::getOverloadedOperator(Opc);
12733 OverloadedOperatorKind Op = BinaryOperator::getOverloadedOperator(Opc);
12794 OverloadedOperatorKind ExtraOp =
12865 OverloadedOperatorKind ChosenOp =
tools/clang/lib/Sema/TreeTransform.h 1201 OverloadedOperatorKind Operator,
13170 OverloadedOperatorKind Operator,
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp 119 OverloadedOperatorKind Opc = MemOpCall->getOriginExpr()->getOperator();
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp 184 OverloadedOperatorKind Op) const;
187 OverloadedOperatorKind Op) const;
194 void handleRandomIncrOrDecr(CheckerContext &C, OverloadedOperatorKind Op,
220 void verifyRandomIncrOrDecr(CheckerContext &C, OverloadedOperatorKind Op,
226 IteratorPosition advancePosition(CheckerContext &C, OverloadedOperatorKind Op,
275 bool isComparisonOperator(OverloadedOperatorKind OK);
290 bool isAssignmentOperator(OverloadedOperatorKind OK);
291 bool isSimpleComparisonOperator(OverloadedOperatorKind OK);
292 bool isAccessOperator(OverloadedOperatorKind OK);
293 bool isDereferenceOperator(OverloadedOperatorKind OK);
294 bool isIncrementOperator(OverloadedOperatorKind OK);
295 bool isDecrementOperator(OverloadedOperatorKind OK);
296 bool isRandomIncrOrDecrOperator(OverloadedOperatorKind OK);
566 const auto Op = Func->getOverloadedOperator();
854 OverloadedOperatorKind Op) const {
897 OverloadedOperatorKind Op) const {
986 OverloadedOperatorKind Op,
1024 OverloadedOperatorKind Op,
1562 OverloadedOperatorKind Op,
1680 const auto OPK = Method->getOverloadedOperator();
1696 bool isComparisonOperator(OverloadedOperatorKind OK) {
1837 bool isAssignmentOperator(OverloadedOperatorKind OK) { return OK == OO_Equal; }
1839 bool isSimpleComparisonOperator(OverloadedOperatorKind OK) {
1843 bool isAccessOperator(OverloadedOperatorKind OK) {
1848 bool isDereferenceOperator(OverloadedOperatorKind OK) {
1853 bool isIncrementOperator(OverloadedOperatorKind OK) {
1857 bool isDecrementOperator(OverloadedOperatorKind OK) {
1861 bool isRandomIncrOrDecrOperator(OverloadedOperatorKind OK) {
1874 const auto OPK = Method->getOverloadedOperator();
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp 950 OverloadedOperatorKind Kind = FD->getOverloadedOperator();
1649 OverloadedOperatorKind Kind = FD->getOverloadedOperator();
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp 656 OverloadedOperatorKind OOK = MethodDecl->getOverloadedOperator();
tools/clang/tools/extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp 42 OverloadedOperatorKind OpKind = OpCallExpr->getOperator();
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp 64 OverloadedOperatorKind getCorrespondingOverload(const FunctionDecl *FD) {
80 const char *getOperatorName(OverloadedOperatorKind K) {
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp 66 bool areParensNeededForOverloadedOperator(OverloadedOperatorKind OperatorKind) {
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp 101 std::pair<OverloadedOperatorKind, StringRef> OperatorNames[] = {
105 StringRef getOperatorName(OverloadedOperatorKind OpKind) {
114 std::pair<OverloadedOperatorKind, OverloadedOperatorKind> OppositeOverloads[] =
114 std::pair<OverloadedOperatorKind, OverloadedOperatorKind> OppositeOverloads[] =
120 const OverloadedOperatorKind Opcode = OpCall->getOperator();
tools/clang/tools/libclang/CIndex.cpp 6977 const OverloadedOperatorKind Kind = OCE->getOperator();
tools/lldb/include/lldb/Symbol/ClangASTContext.h 248 clang::OverloadedOperatorKind &op_kind);
317 bool is_method, clang::OverloadedOperatorKind op_kind,
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp 2190 clang::OverloadedOperatorKind op_kind = clang::NUM_OVERLOADED_OPERATORS;
tools/lldb/source/Symbol/ClangASTContext.cpp 341 clang::OverloadedOperatorKind &op_kind) {
1647 clang::OverloadedOperatorKind op_kind,
1666 bool is_method, clang::OverloadedOperatorKind op_kind,
2029 clang::OverloadedOperatorKind op_kind = clang::NUM_OVERLOADED_OPERATORS;
8191 clang::OverloadedOperatorKind op_kind = clang::NUM_OVERLOADED_OPERATORS;
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>;
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)
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
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)
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
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
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>>>
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;
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; };
1664 : public __add_rvalue_reference_helper<_Tp>